当前位置:网站首页 > R语言数据分析 > 正文

启动docker命令(启动docker-compose)



dockercompose文件里设置启动命令 docker compose启动容器_nginx

“这不属于我,谁会愿意生活都被胁迫~”


Docker 官方的开源项目,使用 python 编写,实现上调用了Docker 服务的 API 进行容器管理及编排。其官方定义为定义和运行多个 Docker 容器的应用。

在docker-compose中存在两个重要的概念:

• 服务(service): 指的是一个应用的容器,一个服务内部可以包含若干容器。

• 项目(project):  由一组关联的应用容器组成的一个完整业务单元,在 dockercompose.yml文件中定义, 整个 docker-compose.yml 定义一个项目。

Compose的默认管理对象是项目,通过子命令对项目中的各个容器进行便捷地生命周期管理。

dockercompose文件里设置启动命令 docker compose启动容器_docker_02

通过 compose 可以方便的管理多个服务。

Docker 官方推荐每个 Docker 容器中只运行一个进程 但一个应用如果涉及到Mysql、nginx等环境,那么我们需要分别为应用创建单独的数据库和nginx容器。按照这个步骤,我们大概需要敲击几次 “docker run”命令,让这些服务能够有序地启动。你启动几个容器尚能应付,但如果要部署许多容器呢?这么做肯定是繁琐的。

另外,这些 docker 容器都是分散独立的,也不方便镜像管理。可是,这些服务的应用是唯一的,我们干脆将这些过程 “打包”,一次性解决。这便引出了dockercompose 来解决。

        

安装 docker 的时候,我们默认已经安装了 docker-compose,安装的组件包名称为docker-compose-plugin,此处不再赘述。

dockercompose文件里设置启动命令 docker compose启动容器_nginx_03

使用步骤:

🎨 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

🎨 最后,执行 docker compose up 命令来启动并运行整个应用程序

核心功能:

• 启动,停止和重建服务

• 查看正在运行的服务的状态

• 流式传输运行服务的日志输出

• 在服务上运行一次性命令

使用场景:

单主机部署: 快速搭建一个单节点开发或者测试环境,方便使用。

不同环境隔离: 通过指定 project 来运行不同的环境,实现隔离的目的。


Version 1、Version 2 及 Version 3,不过Version 1 已经被废弃掉了。当前最新的版本是3.8,这个我们可以参照官方文档。

dockercompose文件里设置启动命令 docker compose启动容器_容器_04

本篇也是基于3.8版本Compose file语法进行讲解:

常见字段格式语法

🎒 image:

指定容器运行镜像。

🎒 command

覆盖容器启动的默认命令。

🎒 entrypoint

覆盖容器默认的 entrypoint。

🎒 environment

添加环境变量,注意: 使用数组或字典、任何布尔值时,需要用引号引起来。以确保 YML 解析器不会将其转换为 True 或 False

🎒 networks

指定容器运行的网络。

        配置容器网络:

配置网络驱动和子网信息:

🎒 volumes

将主机的数据卷或者文件挂载到容器里。

🎒 ports

指定端口映射。

🎒 expose

暴露端口,但不映射到宿主机,只被连接的服务访问。

🎒 build

指定为构建镜像上下文路径。

        例如 webapp 服务,指定为从上下文路径 https://blog.51cto.com/u_/dir/Dockerfile 所构建的镜像:

或者,作为具有在上下文指定的路径的对象,以及可选的 Dockerfile 和 args:

🎒 depends_on

设置依赖关系。

🎲 docker compose up: 以依赖性顺序启动服务。

🎲 docker compose up SERVICE: 自动包含 SERVICE 的依赖项。

🎲 docker compose stop: 按依赖关系顺序停止服务。

可以指定条件,healthy 需要配置 healthcheck 来完成。

🎒 env_file

从文件添加环境变量。可以是单个值或列表的多个值。

其他指令可以参照官方文档,里面为很多指令提供了详细的解释和使用手册。

dockercompose文件里设置启动命令 docker compose启动容器_nginx_05


命令清单:

🎴 up/down/run

• up命令的作用十分强大,它会尝试自动完成包括构建镜像、(重新)创建服务、启动服务并关联服务相关容器的一系列操作,可以直接通过该命令来启动一个项目。

• down

         停止所有容器,并删除容器和网络。

• run

该命令可以在指定服务容器上执行相关的命令。

Docker Compose 基本操作

创建 compose 目录,在里面新建yml文件:

dockercompose文件里设置启动命令 docker compose启动容器_Docker_06

打开.yml文件,使用Compose语法编写该文件内容:

dockercompose文件里设置启动命令 docker compose启动容器_nginx_07

输入 docker compose  config 会做检查:

dockercompose文件里设置启动命令 docker compose启动容器_docker_08

我们将这个错误更正后,就可以通过了:

dockercompose文件里设置启动命令 docker compose启动容器_docker_09

在这个示例中,我们使用到了nginx服务,因为是绑定卷,我们需要给nginx提供新的首页:

dockercompose文件里设置启动命令 docker compose启动容器_Docker_10

dockercompose文件里设置启动命令 docker compose启动容器_容器_11

看到这个动画时,就是docker compose根据咱们些的.yml文件进行容器启动和配置。值得注意的是,你只能在创建.yml目录下执行这条命令,否则这条命令找不到你写的.yml文件。

dockercompose文件里设置启动命令 docker compose启动容器_容器_12

通过页面访问:

dockercompose文件里设置启动命令 docker compose启动容器_容器_13

停止服务:

dockercompose文件里设置启动命令 docker compose启动容器_Docker_14

dockercompose文件里设置启动命令 docker compose启动容器_docker_15

重启服务:

dockercompose文件里设置启动命令 docker compose启动容器_容器_16

删除服务:

dockercompose文件里设置启动命令 docker compose启动容器_docker_17

dockercompose文件里设置启动命令 docker compose启动容器_容器_18

1. up、run 和 start 之间有什么区别?

启动或重新启动 docker-composed.yml。在默认的“附加”模式下,会看到来自所有容器的所有日志。在“分离”模式 ( -d) 中,启动容器后 Compose 退出,但容器继续在后台运行。

docker compose run 命令用于运行“一次性”或“临时”任务。需要运行的服务名称,并且只为这个要运行服务的容器启动。

docker compose start 仅对重新启动先前创建但已停止的容器有用。它从不创建新容器。

2. 如何在同一主机上运行 Compose 文件的多个副本?

Compose 使用项目名称为项目的所有容器和其他资源创建唯一标识符。

        要运行项目的多个副本,请使用-p 命令行选项 或 COMPOSE_PROJECT_NAME 环境变量设置自定义项目名称。

3. 如何控制服务启动顺序?

通过依赖指定depend_on,并且配合healthcheck等检查健康之后,再将服务启动。


dockercompose文件里设置启动命令 docker compose启动容器_Docker_19

到此这篇启动docker命令(启动docker-compose)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • no switchport命令(noswitchport命令如何取消)2024-12-31 20:36:05
  • druid连接池配置文件(druid连接池jar包)2024-12-31 20:36:05
  • win11安装vmware(win11安装vmware虚拟机)2024-12-31 20:36:05
  • kubelet原理(kubelet cri)2024-12-31 20:36:05
  • oracle软件怎么用(oracle系统怎么用)2024-12-31 20:36:05
  • 启动docker服务的命令(启动docker服务的命令行是)2024-12-31 20:36:05
  • strace用法(strict用法归纳)2024-12-31 20:36:05
  • docker的版本有哪些(docker 版本)2024-12-31 20:36:05
  • chrony对时(chronic time)2024-12-31 20:36:05
  • k8s新版本(k8s新版本不能运行 run pip)2024-12-31 20:36:05
  • 全屏图片