Appearance
Docker-compose 环境准备测试和解析
环境配置
shell
#环境准备
[root@docker02.oldboylinux.cn ~]# mv docker-compose-linux-x86_64-2.30.3 /bin/docker-compose
[root@docker02.oldboylinux.cn ~]# chmod +x /bin/docker-compose
[root@docker02.oldboylinux.cn ~]# docker-compose --version
Docker Compose version v2.30.3
命令格式
命令 | 说明 |
---|---|
up -d | up ==== run 创建并运行容器<br />启动的时候后台运行类似于docker run -d |
down | 删除容器,删除所有内容(网络,数据卷) |
stop/start/restart | docker container 关闭、开启、重启容器。 |
ps | 查看容器运行情况 只有 -q选项 |
top | 容器进程信息 |
logs | 容器日志 |
rm | 删除容器(需要容器已经关闭) |
images | 查看镜像 |
部署 nginx 测试
shell
#测试需要的文件
[root@docker02.oldboylinux.cn /compose01]# tree -F
.
├── docker-compose.yml
└── index.html
#挂载文件添加内容
[root@docker02.oldboylinux.cn /compose01]# echo 'testcompose-success' > ./index.html
#编写docker-compose.yml
[root@docker02.oldboylinux.cn /compose01]# cat docker-compose.yml
# 定义docker-compose服务配置
services:
# 服务名称定义(将用于容器间通信)
ngx:
# 使用官方nginx镜像,指定1.24版本
image: nginx:1.24
# 设置容器名称(便于后续管理)
container_name: ngx_dc
# 重启策略:容器退出时自动重启(保证服务可用性)
restart: always
# 端口映射:将主机端口映射到容器端口
ports:
# HTTP协议端口映射(主机80 -> 容器80)
- 80:80
# HTTPS协议端口映射(主机443 -> 容器443)
- 443:443
# 卷挂载配置(实现数据持久化和配置注入)
volumes:
# 将宿主机当前目录下的index.html文件挂载到容器默认网页目录
- ./index.html:/usr/share/nginx/html/index.html
#端口问题 删除部分容器
[root@docker02.oldboylinux.cn /compose01]# docker ps -ap | xargs docker rm -f ^C
#执行
[root@docker02.oldboylinux.cn /compose01]# docker-compose up -d
[+] Running 1/1
? Container ngx_dc Started
#查看进程是否成功
[root@docker02.oldboylinux.cn /compose01]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4178eb602f10 nginx:1.24 "/docker-entrypoint.…" 5 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp ngx_dc