docker compose 安装及使用保姆级教程

哎,记得上次帮朋友搭服务器,他折腾了半天就因为DockerCompose没装对。
这不,赶紧整了个教程,自己过一遍也加深印象。

--

场景: 朋友在虚拟机里装系统,想跑个博客环境,用Nginx和MySQL。
他手贱删了apt源,结果装Docker时卡在curl下载,最后花半小时重启了VM。

--

1 . 确认环境
系统? 他用的是Ubuntu 2 2 .04 ,正好是Linux推荐版。

Docker装了吗? bash docker --version 输出类似Docker version 2 4 .0.7 , build e2 c2 f9 c就行。

--

2 . 下载DockerCompose 直接用curl,别整那些虚的: bash curl -L "https://github.com/docker/compose/releases/download/v2 .2 3 .0/docker-compose-linux-x8 6 _6 4 " -o docker-compose
版本? v2 .2 3 .0是随便选的,最新版可能不稳定。

校验哈希? bash echo "预期哈希值docker-compose" | sha2 5 6 sum -c
等等,得先去[官网](https://github.com/docker/compose/releases)查当前版本的哈希值。
上次查到的是5 f5 b9 ...,对比下。

--

3 . 赋权并移动 bash chmod +x docker-compose sudo mv docker-compose /usr/local/bin/
为啥要移动? 免得每次用sudo docker-compose up太麻烦。

验证? bash docker-compose --version 输出Docker Compose version v2 .2 3 .0就对了。

--

4 . 编写docker-compose.yml 朋友想跑Nginx和MySQL,数据要持久化: yaml version: '3 .9 ' services: web: image: nginx:latest ports:
"8 0:8 0" depends_on:
db db: image: mysql:8 .0 environment: MYSQL_ROOT_PASSWORD: example MYSQL_DATABASE: testdb volumes:
db_data:/var/lib/mysql volumes: db_data:

depends_on? web依赖db,但不会等db完全启动就跑。
得手动检查: bash docker-compose up -d docker-compose ps 看到状态都是Up就OK。

--

5 . 常见坑
Imagenotfound? bash docker pull nginx:latest 朋友删镜像时删错了,直接重拉就行。

端口被占? bash lsof -i :8 0 看到哪个进程占用了,kill -9 PID干掉。

YAML格式错? bash docker-compose config 直接报错,别用Tab缩进,全空格,比如: yaml services: web: image: nginx
--

最后 朋友现在环境跑起来了,但问我为啥db数据不在容器里。
哦对了,得加volumes: yaml volumes: db_data: 这样重启容器数据还在。

等等, 他突然说docker-compose好像有新版本了,说v3 好像改了啥?得再查查...

docker安装minio(docker-compose)

行吧,咱一步步来整。

第一步:Docker装上
得先看Docker装没装。
打开终端。
在Linux系统上,一般用这行命令查: bash docker --version
要是终端报错说找不到命令,那说明Docker没装。
得去官网下安装包啊。
官网是[https://www.docker.com/](https://www.docker.com/)。
别瞎下,看你用啥系统,是Ubuntu、CentOS还是别的啥。
下完安装包,跟着提示走就行。
说实话,装这玩意儿一般没啥大毛病,就照着做。

第二步:DockerCompose也装上
装完Docker,还得装DockerCompose。
这个玩意儿是让Docker多个助手,方便搞多个容器联动。
在终端输入这行命令: bash sudo apt install docker-compose
注意,这是Ubuntu系的命令。
CentOS用别的,具体啥命令得搜一下。
装完就行,不用管它咋装的。

第三步:创建配置文件
接下来,得有个配置文件。
叫啥名字都行,就叫docker-compose.yml。
这个文件就好比个说明书,告诉DockerCompose怎么干活的。
新建个空文件,存起来。

第四步:填配置文件内容
把下面这段话复制进去,保存。
这是部署MinIO的配置。
MinIO是个对象存储系统,跟网盘差不多,但专业点。

yaml version: '3 ' services: minio: image: minio/minio 用MinIO官方的镜像 container_name: minio 容器叫minio,方便记 environment: MINIO_ACCESS_KEY: your-access-key 这里填你自己的账号 MINIO_SECRET_KEY: your-secret-key 这里填你自己的密钥 ports:
"9 000:9 000" 外部访问用9 000,容器里也用9 000
"9 001 :9 001 " 外部访问用9 001 ,容器里也用9 001 volumes:
./data:/data 把你电脑上的data文件夹,挂载到容器里的/data文件夹 command: server --console-address ':9 001 ' /data
重要: your-access-key 和 your-secret-key 这两行,得换成你自己在MinIO那边搞的账号密钥。
这玩意儿很重要,不然没法登录。

还有这行 command: server --console-address ':9 001 ' /data,别动!它确保MinIO的管理后台固定在9 001 端口。
后面访问管理界面要用9 001
第五步:启动服务
保存好docker-compose.yml文件。
然后回到终端,在那个文件所在的目录下,运行这行命令: bash docker-compose up -d
-d 是让容器在后台跑,不打扰你。

搞定!
现在,MinIO服务就跑起来了。
你可以用浏览器访问:
http://localhost:9 000
这是MinIO的普通访问地址。
还有个管理后台,访问:
http://localhost:9 001
记得把localhost换成你服务器的IP地址,如果是在虚拟机或者远程服务器上跑的话。

端口9 000和9 001 ,确保电脑或者服务器的防火墙没挡着它们。

这样,MinIO就部署好了。
用起来还挺方便的。

你这是在给我展示网页源代码吗?我看看... 这堆 script 和 CSS 标签看得我眼花缭乱的。
你是想问关于这个网页加载的脚本有什么问题?还是觉得这些代码有什么特别之处想讨论?
说实话,直接看这些代码块挺费劲的,不像平时聊天。
你要是具体说说想了解哪部分,比如加载速度慢了还是脚本报错了?或者有啥疑问想问我?我尽量帮你分析哈。

如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose | Linux 中国

说白了,在Ubuntu2 2 .04 LTS上安装Docker和DockerCompose其实很简单。
先说最重要的,你得确保你的系统内核版本是3 .1 0以上,6 4 位的,然后更新系统。
去年我们跑的那个项目,内核版本正好是3 .1 0,所以这步没问题。
另外一点,添加Docker的官方存储库并安装证书是关键,大概需要几分钟。
还有个细节挺关键的,就是通过HTTPS安装DockerCE,这能确保你的安装是安全的。

我一开始也以为直接安装DockerCE就万事大吉了,后来发现不对,还得验证Docker服务是否运行。
去年我们那项目启动Docker时,就遇到了点小问题,花了点时间才解决。
等等,还有个事,就是测试Docker是否正常工作,你可以通过运行"hello_world"程序来验证。
这个点很多人没注意,但其实挺重要的。

如果你打算在生产环境中使用,建议以root用户权限操作,虽然作为非root用户运行Docker也是可行的。
至于DockerCompose的安装,你可以下载二进制文件或使用Pip,确保安装完成后检查版本。
我觉得值得试试下载二进制文件的方式,因为它更直接。

最后,通过这些步骤,你已经成功在Ubuntu2 2 .04 LTS上安装了Docker和DockerCompose,可以开始探索它们的功能和应用场景了。
等等,还有个事,就是记得定期更新Docker和DockerCompose,保持系统的安全性。