当前位置:   article > 正文

Docker-Compose详解与部署示例_docker compose

docker compose

目录

docker compose组成

Docker Compose 概述

三层结构

配置文件

使用场景

实现原理

Docker Compose 环境安装

YAML文件格式

编写注意事项:

数据结构:

示例:

Docker Compose配置常用字段

Docker Compose 常用命令

Docker-Compose文件结构

示例:搭建基于Nginx的Docker容器

准备依赖文件:

编写脚本 run.sh:

编写Dockerfile:

创建测试网页:

编写docker-compose.yml:

启动Docker容器:


Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它允许你使用YAML文件配置应用程序的服务、网络和卷,并通过一个简单的命令集启动和管理整个应用程序的容器。通过使用Docker Compose,可以轻松地将多个Docker容器协同工作,构建和管理复杂的应用程序环境。

在容器化应用的过程中,一个 Dockerfile 模板文件可以定义一个单独的应用容器。然而,如果需要定义多个容器并协同工作,就需要使用服务编排。服务编排有多种技术方案,下面将介绍 Docker 官方产品 Docker Compose。

docker compose组成

Docker Compose是用于定义和运行多容器Docker应用程序的工具。它使用YAML文件来配置应用程序的服务、网络和卷等。以下是Docker Compose的主要组成部分:

  • YAML文件: Docker Compose使用YAML文件来定义应用程序的服务、网络、卷等配置。这个文件通常称为docker-compose.yml。在这个文件中,可以指定应用程序的各个服务、它们之间的关系、容器的映像、端口映射、环境变量等。

  • Service(服务): 服务是应用程序的组件,可以是一个容器或一组相关的容器。在Docker Compose中,每个服务都由一个或多个容器组成,这些容器一起提供应用程序的特定功能。

  • Container(容器): 容器是Docker化的应用程序运行的实例。每个服务在Docker Compose中都会映射到一个或多个容器。

  • Networks(网络): Docker Compose允许定义应用程序中的网络。可以指定容器之间的网络连接方式,以实现服务之间的通信。

  • Volumes(卷): 卷是用于在容器之间共享数据的机制。在Docker Compose中,可以定义卷以在服务之间传递数据。

  • Environment Variables(环境变量): 可以在Docker Compose文件中设置环境变量,这些变量将传递给容器,以影响它们的行为。

  • Build(构建): 如果需要构建自定义镜像,可以使用Docker Compose文件中的build指令,指定构建上下文和Dockerfile的位置。

  • Ports(端口): 可以在Docker Compose文件中定义端口映射,将容器内部的端口映射到主机上的端口,以允许外部访问服务。

Docker Compose 概述

        Docker Compose 是 Docker 官方的开源项目,用于快速编排 Docker 容器集群。它允许用户在一个模板(使用 YAML 格式)中定义一组相关联的应用容器,这被称为一个项目(project)。例如,一个项目可以包括 Web 服务容器和后端数据库服务容器等。

三层结构

Docker Compose 将管理的容器分为三层:工程(project)、服务(service)以及容器(container)。

  • 工程(project): 由运行目录下的所有文件组成,包括 docker-compose.yml、extends 文件或环境变量文件。工程名默认为当前目录名。

  • 服务(service): 一个工程可以包含多个服务,每个服务定义了容器运行的镜像、参数和依赖关系。

  • 容器(container): 一个服务可以包含多个容器实例。

配置文件

        Docker Compose 的工程配置文件默认为 docker-compose.yml,也可以通过环境变量 COMPOSE_FILE-f 参数来自定义配置文件。该文件定义了多个有依赖关系的服务及每个服务运行的容器。

使用场景

        在实际工作中,经常会遇到需要多个容器相互配合来完成某项任务的情况。比如,要实现一个 Web 项目,除了 Web 服务容器,还需要后端的数据库服务容器和可能的负载均衡容器。Compose 允许用户通过一个单独的 docker-compose.yml 模板文件来定义这组相关联的应用容器为一个项目。

实现原理

        Docker Compose 项目由 Python 编写,利用 Docker 服务提供的 API 来对容器进行管理。因此,只要所操作的平台支持 Docker API,就可以在其上利用 Compose 进行编排管理。

总体而言,Docker Compose 简化了多容器应用的管理和协同工作,使得容器编排变得更加便捷。

Docker Compose 环境安装

        Docker Compose 是 Docker 的独立产品,因此在安装 Docker Compose 之前,需要先安装 Docker。

  1. # 1. 下载 Docker Compose
  2. curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  3. # 2. 授予执行权限
  4. chmod +x /usr/local/bin/docker-compose
  5. # 3. 查看安装版本
  6. docker-compose --version

YAML文件格式

  • YAML(YAML Ain't Markup Language 或 YAML 是一种人类友好的数据序列化标准。

  • YAML 文件是一种以人类可读的方式表示数据的格式,通常被用于配置文件和数据交换格式。它的语法简洁,使用空格来表示层次结构,避免了像 XML 和 JSON 这样的标记语言中使用的繁琐的符号。YAML 主要强调数据的可读性,使得编辑和理解文件变得更加容易。

  • YAML 文件可以包含键值对、数组、标量等数据形式。在容器编排工具中,比如 Docker Compose 中的配置文件就经常采用 YAML 格式。在 YAML 文件中,缩进和空格的使用很重要,它们用来表示数据的层次结构关系。

  • 与 XML 相比,YAML 语法更简单。YAML 数据结构通过缩进表示,连续的项目通过减号表示,键值对用冒号分隔,数组用中括号 [] 括起来,哈希用花括号 {} 括起来。

以下是一个简单的 YAML 文件示例:

  1. name: John Doe
  2. age: 30
  3. city: New York
  4. hobbies:
  5. - Reading
  6. - Traveling

在这个例子中,我们定义了一个人物的信息,包括姓名、年龄、城市和爱好。这种人类可读性高的格式使得 YAML 在配置文件和数据交换方面被广泛应用。

编写注意事项:

  • 大小写敏感: YAML 是大小写敏感的。

  • 缩进表示层级关系: 使用缩进表示数据的层次结构。

  • 不支持制表符: 只能使用空格进行缩进,不支持制表符(tab 键)。

  • 缩进的空格数目不重要: 只要相同层级左对齐即可,通常开头缩进2个空格。

  • 注释: 使用 # 号表示注释。

  • 符号字符后缩进1个空格: 冒号 : 、逗号 , 、横杠 - 等符号后通常缩进1个空格。

  • 引号的使用: 单引号''引起来的字符串会被处理为普通字符串,双引号""内的特殊字符会被解析为其本身的意思。

name: "Hi,\lihua"

数据结构:

  • 键值对: 键值对的字典。YAML 使用冒号 : 分隔键和值,形成键值对
animal: pets
  • 列表: 一组按次序排列的列表。使用连字符 - 表示列表中的每个项
  1. - Cat
  2. - Dog
  3. - Bird

对应 JSON:["Cat", "Dog", "Bird"]

  • 布尔值:
  1. debug: true
  2. debug: false
  • 哈希映射: 使用花括号 {} 表示哈希映射,即键值对的字典。
  1. person:
  2. name: John
  3. age: 30
  • 数组: 使用中括号 [] 表示数组。
fruits: [apple, orange, banana]

示例:

YAML 格式:

  1. languages:
  2. - Java
  3. - Golang
  4. - Python
  5. websites:
  6. cpu: 2
  7. memory: 1024M
  8. swap: 2048M
  9. disk: 60G

对应的 JSON 格式:

  1. {
  2. "languages": [
  3. "Java",
  4. "Golang",
  5. "Python"
  6. ],
  7. "websites": {
  8. "cpu": "2",
  9. "memory": "1024M",
  10. "swap": "2048M",
  11. "disk": "60G"
  12. }
  13. }

简单结构示例

  1. person:
  2. name: Alice
  3. age: 25
  4. address:
  5. city: Wonderland
  6. country: Fantasyland
  7. hobbies:
  8. - Reading
  9. - Traveling
  10. - Coding

在这个示例中,person 包含了姓名、年龄、地址和爱好的信息。address 是一个哈希映射,而 hobbies 是一个列表。

复杂结构示例:

  1. school: university
  2. departments:
  3. - name: computer science
  4. courses:
  5. - course_name: algorithms
  6. professor: Dr. Smith
  7. - course_name: databases
  8. professor: Dr. Johnson
  9. - name: literature
  10. courses:
  11. - course_name: poetry
  12. professor: Dr. Williams
  13. - course_name: novels
  14. professor: Dr. Davis
  15. location:
  16. campus: west
  17. city: Example City
  18. country: Example Country

        这个示例展示了一个包含学校信息、部门、课程和位置的复杂 YAML 结构。通过缩进和冒号的使用,清晰地表示了数据的层级关系。school 包含了 departmentslocation 两个子项,而 departments 下有两个子项,每个子项包含了部门名称和该部门的课程信息。最后,location 包含了校区、城市和国家的信息。这种结构使得数据的组织和理解变得直观和简洁。

Docker Compose配置常用字段

        在 Docker Compose 配置文件中,常用的字段用于定义服务的各种属性,如构建、镜像、命令、网络、端口映射等。以下是一些常见字段及其描述:

  • build:

  • 描述: 指定 Dockerfile 文件名。

  • 补充: 若要指定 Dockerfile 文件,需要在 build 标签的子级标签中使用 dockerfile 指定。

  • dockerfile:

  • 描述: 构建镜像时使用的 Dockerfile 文件路径。

  • context:

  • 描述: 构建镜像的上下文路径,可以是 Dockerfile 的路径,也可以是指向 git 仓库的 URL 地址。

  • image:

  • 描述: 指定服务使用的镜像。

  • command:

  • 描述: 覆盖容器启动后默认执行的命令。

  • container_name:

  • 描述: 指定容器名称,唯一性,不能与其他容器名称重复。

  • deploy:

  • 描述: 指定部署和运行服务的相关配置,仅在 Swarm 模式使用。

  • environment:

  • 描述: 添加环境变量。

  • networks:

  • 描述: 加入网络,引用顶级 networks 下的条目。

  • network_mode:

  • 描述: 设置容器的网络模式,如 hostbridge 等。

  • ports:

  • 描述: 暴露容器端口,与 -p 选项相同。

  • volumes:

  • 描述: 挂载宿主机目录或命名卷到容器,命名卷需在顶级 volumes 定义卷名称。

  • volumes_from:

  • 描述: 从另一个服务或容器挂载卷,可选参数 :ro:rw,仅版本 '2' 支持。

  • hostname:

  • 描述: 容器主机名。

  • sysctls:

  • 描述: 在容器内设置内核参数。

  • links:

  • 描述: 连接到另一个容器,使用 - 服务名称[:服务别名]。

  • privileged:

  • 描述: 赋予容器 root 权限,慎用,不安全,值为 truefalse

  • restart:

  • 描述: 设置容器的重启策略,如 noalwayson-failure 等。

    no:默认策略,在容器退出时不重启容器。 on-failure:在容器非正常退出时(退出状态非0),才会重启容器。 on-failure:3:在容器非正常退出时重启容器,最多重启3次。 always:在容器退出时总是重启容器。 unless-stopped:在容器退出时总是重启容器,但不考虑在 Docker 守护进程启动时就已经停止的容器。

  • depends_on:

  • 描述: 定义容器之间的依赖关系,确保指定的服务在启动之前已经启动。在使用 Compose 时,解决容器启动顺序和依赖关系的问题。

示例:

  1. php:
  2. depends_on:
  3. - apache
  4. - mysql

通过合理配置这些字段,可以有效管理和定义 Docker Compose 服务的各种属性,实现容器编排和部署的灵活性。

Docker Compose 常用命令

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。以下是一些常用命令的整理解析补充:

  • build:

  • 描述:重新构建服务,通常在对应的 Dockerfile 发生变化时使用,以确保使用最新的配置和代码。

  • ps:

  • 描述:列出当前正在运行的容器,显示容器的状态、ID、名称等信息。

  • up:

  • 描述:创建和启动容器。该命令根据 docker-compose.yml 文件中的配置启动服务。

  • exec:

  • 描述:在容器内执行命令。可以通过这个命令进入正在运行的容器并执行特定的命令,用于调试和管理容器内部。

  • scale:

  • 描述:指定一个服务容器的启动数量。允许动态地调整服务容器的规模,适用于需要水平扩展的场景。

  • top:

  • 描述:显示容器内的进程。可以查看容器内部正在运行的进程,有助于监控和排查问题。

  • logs:

  • 描述:查看容器的输出日志。用于检查容器的运行日志,帮助定位和解决问题。

  • down:

  • 描述:停止并删除容器、网络、数据卷和镜像。用于清理整个应用程序的相关资源。

  • stop/start/restart:

  • 描述:停止/启动/重启服务。分别用于停止、启动和重启指定的服务。

这些命令使得 Docker Compose 更加灵活和方便,适用于开发、测试和部署多容器应用程序。

Docker-Compose文件结构

Docker Compose 文件结构通常包含以下元素:

  • version:

  • 描述:指定 Docker Compose 文件的版本。该版本决定了可以使用的 Docker Compose 的特性和语法。例如,version: '3' 表示使用 Docker Compose 版本 3 的语法。

  • services:

  • 描述:定义了各个服务及其配置。每个服务可以包括镜像、容器名称、端口映射、环境变量等信息。

  1. services:
  2. nginx:
  3. image: nginx:latest
  4. ports:
  5. - "80:80"
  6. mysql:
  7. image: mysql:latest
  8. environment:
  9. MYSQL_ROOT_PASSWORD: example
  • networks:

  • 描述:定义了服务之间的网络连接。可以指定自定义的网络名称、驱动程序和其他网络相关配置。

  1. networks:
  2. custom_network:
  3. driver: bridge
  • volumes:

  • 描述:定义了服务使用的卷(volumes)。卷用于在容器之间共享和存储数据。

  1. volumes:
  2. data_volume:
  • configs:

  • 描述:用于定义服务的配置。可以包括配置文件、密钥等敏感信息。

  1. configs:
  2. config_file:
  3. file: ./config.ini
  • environment:

  • 描述:设置全局环境变量,可以在所有服务中使用。

  1. environment:
  2. GLOBAL_VAR: value
  • secrets:

  • 描述:定义服务使用的密钥或敏感信息。

  1. secrets:
  2. secret_key:
  3. file: ./secret.txt
  • volumes, networks, configs, secrets (外部定义):

  • 描述:允许引用外部定义的卷、网络、配置和密钥。

  1. services:
  2. nginx:
  3. volumes:
  4. - data_volume:/app/data
  5. networks:
  6. - custom_network

这些元素可以组合使用,根据应用程序的需要进行配置。Docker Compose 文件的结构允许开发人员定义和管理多容器应用程序的整体配置。

  1. yum -y install tree
  2. tree /opt/compose_nginx/ -L 2
  3. /opt/compose_nginx/
  4. ├── docker-compose.yml
  5. ├── mysql
  6. │ ├── Dockerfile
  7. │ ├── my.cnf
  8. │ └── mysql-boost-5.7.20.tar.gz
  9. ├── nginx
  10. │ ├── Dockerfile
  11. │ └── nginx-1.12.0.tar.gz
  12. ├── php
  13. │ ├── Dockerfile
  14. │ └── php-7.1.10.tar.bz2
  15. └── wwwroot
  16. ├── index.html
  17. ├── wordpress
  18. └── wordpress-4.9.4-zh_CN.tar.gz

解释:

  • docker-compose.yml:

  • 描述: 创建模板脚本,用于定义和配置多容器 Docker 应用程序。

  • mysql:

  • 描述: 包含 MySQL 服务的定义。

  • Dockerfile:

    • 描述: MySQL 容器的构建脚本,包含了构建 MySQL 镜像所需的指令。
  • my.cnf:

    • 描述: MySQL 配置文件,可能包含了自定义的 MySQL 配置。
  • mysql-boost-5.7.20.tar.gz:

    • 描述: MySQL 源码包,可能是用于构建 MySQL 镜像的源码文件。
  • nginx:

  • 描述: 包含 Nginx 服务的定义。

  • Dockerfile:

    • 描述: Nginx 容器的构建脚本,包含了构建 Nginx 镜像所需的指令。
  • nginx-1.12.0.tar.gz:

    • 描述: Nginx 源码包,可能是用于构建 Nginx 镜像的源码文件。
  • php:

  • 描述: 包含 PHP 服务的定义。

  • Dockerfile:

    • 描述: PHP 容器的构建脚本,包含了构建 PHP 镜像所需的指令。
  • php-7.1.10.tar.bz2:

    • 描述: PHP 源码包,可能是用于构建 PHP 镜像的源码文件。
  • wwwroot:

  • 描述: 存放站点网页的目录。

  • index.html:

    • 描述: 实际的站点网页文件。
  • wordpress:

    • 描述: WordPress 目录,可能包含 WordPress 应用程序的文件。
  • wordpress-4.9.4-zh_CN.tar.gz:

    • 描述: WordPress 源码包,可能是用于构建 WordPress 镜像的源码文件。

这个结构展示了一个包含多个服务的 Docker-Compose 应用程序,可以通过运行 docker-compose up 启动整个应用。每个服务都有自己的构建脚本和相关文件,使得整个应用的维护和扩展更加方便。

示例:搭建基于Nginx的Docker容器

准备依赖文件:

  1. mkdir -p /opt/compose_nginx/nginx /opt/compose_nginx/wwwroot
  2. cd /opt/compose_nginx/nginx
  3. cp nginx-1.12.0.tar.gz ./
  • 创建目录:/opt/compose_nginx/nginx/opt/compose_nginx/wwwroot

  • 进入目录:/opt/compose_nginx/nginx

  • 复制nginx-1.12.0.tar.gz到当前目录

编写脚本 run.sh:

  1. vim run.sh
  2. #!/bin/bash
  3. /usr/local/nginx/sbin/nginx
  • 创建文件:vim run.sh

编写Dockerfile:

  1. vim Dockerfile
  2. FROM centos:7
  3. MAINTAINER this is nginx image <hmj>
  4. RUN yum -y update
  5. RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make
  6. RUN useradd -M -s /sbin/nologin nginx
  7. ADD nginx-1.12.0.tar.gz /usr/local/src/
  8. WORKDIR /usr/local/src/nginx-1.12.0
  9. RUN ./configure \
  10. --prefix=/usr/local/nginx \
  11. --user=nginx \
  12. --group=nginx \
  13. --with-http_stub_status_module && make && make install
  14. ENV PATH /usr/local/nginx/sbin:$PATH
  15. EXPOSE 80
  16. EXPOSE 443
  17. #启动方法一:
  18. RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
  19. #添加宿主机中run.sh到容器中
  20. ADD run.sh /run.sh
  21. RUN chmod 755 /run.sh
  22. CMD ["/run.sh"]
  23. #启动方法二:
  24. ENTRYPOINT [ "/usr/local/nginx/sbin/nginx", "-g", "daemon off;" ]

解析:

  • 基于基础镜像:
FROM centos:7

使用CentOS 7作为基础镜像。

  • 用户信息:
MAINTAINER this is nginx image <hmj>

提供镜像的作者/维护者信息。

  • 添加环境包:
  1. RUN yum -y update
  2. RUN yum -y install pcre-devel zlib-devel gcc gcc-c++ make

更新系统并安装Nginx编译所需的一些依赖包。

  • 创建非登录用户 nginx:
RUN useradd -M -s /sbin/nologin nginx

创建一个名为nginx的非登录用户,该用户将被用于运行Nginx服务。

  • 上传Nginx软件压缩包,并解压:
ADD nginx-1.12.0.tar.gz /usr/local/src/

将Nginx软件压缩包复制到容器中的指定目录,并在该目录下解压。

  • 指定工作目录:
WORKDIR /usr/local/src/nginx-1.12.0

设置工作目录为解压后的Nginx源代码目录。

  • 配置、编译并安装Nginx:
  1. RUN ./configure \
  2. --prefix=/usr/local/nginx \
  3. --user=nginx \
  4. --group=nginx \
  5. --with-http_stub_status_module && make && make install

使用指定的配置参数,编译并安装Nginx。

  • 设置环境变量 PATH:
ENV PATH /usr/local/nginx/sbin:$PATH

将Nginx的sbin目录添加到系统的PATH环境变量中。

  • 指定http和https端口:
  1. EXPOSE 80
  2. EXPOSE 443

暴露容器的80和443端口,以便外部可以访问Nginx服务。

  • 方法一 - 关闭Nginx后台运行:
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

将"daemon off;"添加到Nginx配置文件,以关闭Nginx在后台运行。

  • 添加run.sh脚本到容器中,并设置权限:
  1. ADD run.sh /run.sh
  2. RUN chmod 755 /run.sh

将本地的run.sh脚本添加到容器中,并为该脚本设置可执行权限。

  • 方法二 - 使用ENTRYPOINT启动Nginx:
ENTRYPOINT [ "/usr/local/nginx/sbin/nginx", "-g", "daemon off;" ]

使用ENTRYPOINT指令指定Nginx作为容器的启动命令,同时传递"-g daemon off;"参数,以确保Nginx以非守护进程方式运行。

  • CMD指令 - 容器启动时执行的默认命令:
CMD ["/run.sh"]

设置容器启动时默认执行的命令为/run.sh脚本。这在使用方法一时启动Nginx。

创建测试网页:

echo "<h1>this is test web</h1>" > /opt/compose_nginx/wwwroot/index.html
  • /opt/compose_nginx/wwwroot 目录下创建 index.html 文件,内容为 <h1>this is test web</h1>

编写docker-compose.yml:

  • 创建文件:vim /opt/compose_nginx/docker-compose.yml
  1. vim /opt/compose_nginx/docker-compose.yml
  2. version: '3'
  3. services:
  4. nginx:
  5. container_name: web1
  6. hostname: nginx
  7. build:
  8. context: ./nginx
  9. dockerfile: Dockerfile
  10. ports:
  11. - 1216:80
  12. - 1217:443
  13. networks:
  14. lnmp:
  15. ipv4_address: 172.18.0.10
  16. volumes:
  17. - ./wwwroot:/usr/local/nginx/html
  18. networks:
  19. lnmp:
  20. driver: bridge
  21. ipam:
  22. config:
  23. - subnet: 172.18.0.0/16

解析:

这是一个Docker Compose的配置文件,用于定义一个包含Nginx服务的Docker应用。以下是对每个部分的解析:

  • 版本和服务定义:
  1. version: '3'
  2. services:

使用Docker Compose版本3,并定义了一个services部分,其中包含Nginx服务。

  • Nginx服务配置:
  1. nginx:
  2. container_name: web1
  3. hostname: nginx
  4. build:
  5. context: ./nginx
  6. dockerfile: Dockerfile
  7. ports:
  8. - 1216:80
  9. - 1217:443
  10. networks:
  11. lnmp:
  12. ipv4_address: 172.18.0.10
  13. volumes:
  14. - ./wwwroot:/usr/local/nginx/html
  • container_name: 指定容器的名称为web1。

  • hostname: 设置容器的主机名为nginx。

  • build: 指定构建镜像时的上下文和Dockerfile路径。

  • ports: 将主机的1216端口映射到容器的80端口,将主机的1217端口映射到容器的443端口。

  • networks: 将该服务连接到一个自定义网络lnmp,并指定了IPv4地址为172.18.0.10。

  • volumes: 将主机的./wwwroot目录挂载到容器的/usr/local/nginx/html目录。

  • 自定义网络配置:

  1. networks:
  2. lnmp:
  3. driver: bridge
  4. ipam:
  5. config:
  6. - subnet: 172.18.0.0/16

定义一个名为lnmp的自定义网络,使用bridge驱动,并指定了IP地址池为172.18.0.0/16。

  • 通过这个配置,你可以使用docker-compose up -d命令启动应用,Docker Compose会自动构建Nginx镜像并启动一个包含Nginx服务的容器。此配置还设置了端口映射和网络设置,使得Nginx服务可以通过主机的1216和1217端口访问,并且该服务与其他容器连接到lnmp网络。

启动Docker容器:

  1. cd /opt/compose_nginx/
  2. docker-compose -f docker-compose.yml up -d
  • 进入 /opt/compose_nginx/ 目录

  • 执行命令:docker-compose -f docker-compose.yml up -d

  • Docker Compose参数解释:

  • -f, --file FILE: 使用特定的Compose模板文件,默认为docker-compose.yml

  • -p, --project-name NAME: 指定项目名称,默认使用目录名称

  • -d: 在后台运行

  • 查看Docker容器状态:

  • 执行命令:docker ps -a

  • 查看Docker Compose服务状态:

  • 执行命令:docker-compose ps(必须在docker-compose.yml所在目录执行此命令)

  • 通过浏览器访问:

  • 访问 http://192.168.41.31:1216

  • 这个配置创建了一个Nginx容器,通过Docker Compose进行管理,同时提供了一个简单的测试网页

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/399068
推荐阅读
相关标签
  

闽ICP备14008679号