自学内容网 自学内容网

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)!