当前位置:   article > 正文

使用docker-compose容器编排工具,编写docker-compose.yml文件进行容器化部署_docker-compose.yml 运行

docker-compose.yml 运行

现在的spring cloud 项目在部署的时候基本上都是使用docker容器来进行部署,所以这里给大家介绍一下日常使用dokcer的一些命令,还有现在流行的docker-compose

1.docker-compose

docker-compose是一个容器编排工具,它用来在单台Linux服务器上运行多个Docker容器。docker-compose使用YAML文件来配置所有需要运行的Docker容器(称之为服务),该YAML文件的默认名称为docker-compose.yml,内容为YAML格式的UTF-8文本。通过一条命令,我们可以创建docker-compose.yml 文件中描述的所有服务。

在环境初始化之后,会先在工作目录下创建 docker-compose.yml 文件,编写容器编排配置,然后通过 docker-compose 命令来控制所有服务的启停,具体流程可参考下图:

需要注意的是所有的容器服务都可以设置自动重启,在系统停机维护之后再次启动时,服务可自动启动,无需再手动执行启动命令

一个简单的docker-compose.yml

  1. version: '3' # 1
  2. services: # 2
  3. redis: # 3
  4. image: redis # 4
  5. ports: # 5
  6. - "1234:6379"

1. compose文件格式的版本,恒定为3
2. services标签下可以定义多个类似 redis 这样的服务
3. redis 服务定义, redis 是服务的名称,由用户来定义 (类似redis这样的服务可以在 services 下定义多个)
4. redis 服务所使用的镜像路径为redis
5. 定义端口映射,本例将容器内的6379端口映射到宿主机的1234端口

一个完整的docker-compose.yml

 配置解释:

1. 在一个yml文件的service下可以配置多个容器pg,nginx等等,每一个容器代表一个服务

2. image表示镜像地址

3. container_name 表示指定的容器名

4.restart 表示服务启动之后会一直尝试重启

5. ports 表示将容器的端口与主机的端口进行关联,访问主机的端口就能访问到容器里面服务的端口

5.1 另外一种写法的接介绍:network_mode: host

        指定网络模式为 host 模式,容器直接使用宿主机的网络。因为我们的部署所用端口有明确的划分,所以不需要对网络进行隔离,可以简化配置。

6.volumes 表示容器的挂载目录,将本机的配置文件或者存储数据的目录挂载到容器的目录

编写完docker-compose.yml文件后,使用一行命令就可以启动所有的容器服务了

7.healthcheck: 容器健康检查

8.logging: 配置日志驱动

9.environment:配置环境变量

常用命令

docker compose up -d

up表示启动

-d表示后台运行

关闭客户端也会再后台继续运行,除非使用命令关掉运行中的容器

正常情况下,我们会配置容器的重启策略为 always ,即异常退出后,总是重启。所以容器会一直保持运行状态,如果有异常状况如内存溢出导致容器退出,则会自动重启。

查看服务运行状态

docker compose ps

启动停止某个容器

  1. # 停止
  2. docker stop 容器名
  3. # 启动
  4. docker start 容器名

查看日志

  1. # 查看所有日志
  2. docker-compose logs -f
  3. # 持续打印某个应用的日志
  4. docker logs -f 容器名
  5. # 持续打印某个应用的日志(只显示最后10行)
  6. docker logs -f 容器名 --tail 10
  7. # 导出某个容器的所有日志
  8. docker logs 容器名 > app.log

暂停所有容器,但是不删除容器实例(常用于停机维护前暂停所有容器服务)

docker compose stop

删除所有容器实例(常用于排查问题的时候)

docker compose down

注意: 如果是安装的docker-compose,docker compose命令请加上 -   ,如果是新版的docker,安装的docker compose插件,请去掉这个横杠 -

在另一篇文章中我将会讲解如何使用docker拉取镜像完成部署前的准备工作

安装docker和docker-compose,拉取docker镜像的步骤_Libigtong的博客-CSDN博客

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

闽ICP备14008679号