docker compose 使用记录
作用
Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过一个 YAML 文件来配置应用程序的服务,然后使用一个命令即可创建并启动所有服务。
文档位置
Part 7: Use Docker Compose | Docker Docs
使用方法
1. 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
2. 创建 docker-compose.yml 文件
在项目根目录下创建一个 docker-compose.yml 文件,定义服务、网络和卷。
#版本声明:指定了 Docker Compose 文件的版本。这里使用的是版本 3。
version: '3'
#服务定义
services:
web: #服务名称
image: nginx:latest #指定使用的 Docker 镜像,这里是 nginx:latest
ports: #ports: 将主机的 80 端口映射到容器的 80 端口
- "80:80"
#挂载,将主机的 ./html 目录挂载到容器的 /usr/share/nginx/html 目录,这样可以将静态文件放在主机上,Nginx 会从这个目录中提供服务
volumes:
- ./html:/usr/share/nginx/html
db:
image: postgres:latest
#设置环境变量,这里设置了 POSTGRES_PASSWORD 为 example
environment:
POSTGRES_PASSWORD: example
#将命名卷 postgres_data 挂载到容器的 /var/lib/postgresql/data 目录,这样可以持久化 PostgreSQL 的数据
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
#定义了一个命名卷 postgres_data,用于持久化 PostgreSQL 的数据。命名卷的好处是数据独立于容器,即使容器被删除,数据仍然保留。
postgres_data:
3. 启动服务
在 docker-compose.yml 文件所在的目录下运行命令: docker-compose up -d
//-d 参数表示在后台运行服务。
4. 查看服务状态
docker-compose ps
5. 停止服务
docker-compose down
6. 重新构建服务
修改了 docker-compose.yml 文件或服务的 Dockerfile后可以使用以下命令重新构建服务:docker-compose up --build -d
7. 查看日志
docker-compose logs
8. 在特定服务的容器中执行命令:
docker-compose exec web bash
9. 配置环境变量
可以在 docker-compose.yml 文件中使用环境变量,或者创建一个 .env 文件来管理环境变量。
.env 文件示例:
POSTGRES_USER=admin
POSTGRES_PASSWORD=example
POSTGRES_DB=mydb
使用示例:
version: '3'
services:
db:
image: postgres:latest
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
原文地址:https://blog.csdn.net/weixin_49990593/article/details/144021903
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!