• Docker Compose介绍和安装


    Docker Compose介绍

    Docker Compose是一个工具,用于定义和运行多容器应用程序的工具;
    Docker Compose通过yml文件定义多容器的docker应用;
    Docker Compose通过一条命令根据yml文件的定义去创建或管理多容器;
    Docker Compose 是用来做Docker 的多容器控制,是一个用来把 Docker 自动化的东西。有了 Docker Compose 你可以把所有繁复的 Docker 操作全都一条命令,自动化的完成。

     

    Docker Compose可以做到以下几点:

    1. 提供工具用于定义和运行多个docker容器应用;
    2. 使用yaml文件来配置应用服务(docker-compse.yml);
    3. 可以通过一个简单的命令docker-compse up可以按照依赖关系启动所有服务;
    4. 可以通过一个简单的命令docker-compose down停止所有服务;
    5. 当一个服务需要的时候,可以很简单地通过--scale进行扩容;

    Docker Compose有以下特征: 

    更高的可移植性,Docker Compose仅需一个docker-compse up可以完成按照依赖关系启动所有服务,然后使用docker-compose down轻松将其拆解。帮助我们更轻松地部署复杂的应用程序;
    单个主机上的多个隔离环境,Compose可以使用项目名称将环境彼此隔离,这带可以在一台计算机上运行同一环境的多个副本,它可以防止不同的项目和服务相互干扰; 

    Docker Compose安装

    Docker Compose安装的最新的版本Docker Compose version v2.12.2,对于Mac和Windows安装好Docker以后,就已经安装好Docker Compose,不需要手动安装,这里的安装方式是基于Linux的Cnetos的,大家也可以参考官方网站去安装。

    由于虚拟机之前已经安装Docker,本次只需要安装compose-plugin即可;虚拟机版本如下:

    1. [root@localhost ~]# cat /etc/redhat-release
    2. CentOS Linux release 7.9.2009 (Core)

    升级所有包的同时也升级软件和系统内核:

    1. [root@localhost ~]# sudo yum update
    2. 已加载插件:fastestmirror, langpacks
    3. Loading mirror speeds from cached hostfile
    4. * base: mirror.lzu.edu.cn
    5. * extras: ftp.ksu.edu.tw
    6. * updates: mirror.lzu.edu.cn
    7. 正在解决依赖关系
    8. --> 正在检查事务
    9. ---> 软件包 containerd.io.x86_64.0.1.6.8-3.1.el7 将被 升级
    10. ---> 软件包 containerd.io.x86_64.0.1.6.9-3.1.el7 将被 更新
    11. ---> 软件包 copy-jdk-configs.noarch.0.3.3-10.el7_5 将被 升级
    12. ---> 软件包 copy-jdk-configs.noarch.0.3.3-11.el7_9 将被 更新
    13. ---> 软件包 docker-ce.x86_64.3.20.10.18-3.el7 将被 升级
    14. ---> 软件包 docker-ce.x86_64.3.20.10.21-3.el7 将被 更新
    15. ---> 软件包 docker-ce-cli.x86_64.1.20.10.18-3.el7 将被 升级
    16. ---> 软件包 docker-ce-cli.x86_64.1.20.10.21-3.el7 将被 更新
    17. ---> 软件包 docker-ce-rootless-extras.x86_64.0.20.10.18-3.el7 将被 升级
    18. ---> 软件包 docker-ce-rootless-extras.x86_64.0.20.10.21-3.el7 将被 更新
    19. ---> 软件包 docker-scan-plugin.x86_64.0.0.17.0-3.el7 将被 升级
    20. ---> 软件包 docker-scan-plugin.x86_64.0.0.21.0-3.el7 将被 更新
    21. ---> 软件包 java-1.8.0-openjdk.x86_64.1.1.8.0.345.b01-1.el7_9 将被 升级
    22. ---> 软件包 java-1.8.0-openjdk.x86_64.1.1.8.0.352.b08-2.el7_9 将被 更新
    23. ---> 软件包 java-1.8.0-openjdk-headless.x86_64.1.1.8.0.345.b01-1.el7_9 将被 升级
    24. ---> 软件包 java-1.8.0-openjdk-headless.x86_64.1.1.8.0.352.b08-2.el7_9 将被 更新
    25. ---> 软件包 tzdata.noarch.0.2022d-1.el7 将被 升级
    26. ---> 软件包 tzdata.noarch.0.2022e-1.el7 将被 更新
    27. ---> 软件包 tzdata-java.noarch.0.2022d-1.el7 将被 升级
    28. ---> 软件包 tzdata-java.noarch.0.2022e-1.el7 将被 更新

    安装compose-plugin:

    根据不同的操作系统选择不同安装命令

    1. [root@localhost ~]# sudo yum install docker-compose-plugin
    2. 已加载插件:fastestmirror, langpacks
    3. Loading mirror speeds from cached hostfile
    4. * base: mirror.lzu.edu.cn
    5. * extras: ftp.ksu.edu.tw
    6. * updates: mirror.lzu.edu.cn
    7. 正在解决依赖关系
    8. --> 正在检查事务
    9. ---> 软件包 docker-compose-plugin.x86_64.0.2.12.2-3.el7 将被 安装
    10. --> 解决依赖关系完成

    查看安装情况

    1. [root@localhost ~]# docker compose version
    2. Docker Compose version v2.12.2

    Docker Compose基本命令介绍

    Docker Compose命令基本上和Docker相差不多,主要就是对Docker Compose生命周期控制、日志格式等相关命令,可以通过docker-compose --help进行帮助。

    1. [root@localhost ~]# docker compose --help
    2. Usage: docker compose [OPTIONS] COMMAND
    3. Docker Compose
    4. Options:
    5. --ansi string Control when to print ANSI control characters ("never"|"always"|"auto") (default "auto")
    6. --compatibility Run compose in backward compatibility mode
    7. --env-file string Specify an alternate environment file.
    8. -f, --file stringArray Compose configuration files
    9. --profile stringArray Specify a profile to enable
    10. --project-directory string Specify an alternate working directory
    11. (default: the path of the, first specified, Compose file)
    12. -p, --project-name string Project name
    13. Commands:
    14. build Build or rebuild services
    15. convert Converts the compose file to platform's canonical format
    16. cp Copy files/folders between a service container and the local filesystem
    17. create Creates containers for a service.
    18. down Stop and remove containers, networks
    19. events Receive real time events from containers.
    20. exec Execute a command in a running container.
    21. images List images used by the created containers
    22. kill Force stop service containers.
    23. logs View output from containers
    24. ls List running compose projects
    25. pause Pause services
    26. port Print the public port for a port binding.
    27. ps List containers
    28. pull Pull service images
    29. push Push service images
    30. restart Restart service containers
    31. rm Removes stopped service containers
    32. run Run a one-off command on a service.
    33. start Start services
    34. stop Stop services
    35. top Display the running processes
    36. unpause Unpause services
    37. up Create and start containers
    38. version Show the Docker Compose version information
    39. Run 'docker compose COMMAND --help' for more information on a command.
    1. #构建建启动nignx容器
    2. docker-compose up -d nginx
    3. #进入nginx容器中
    4. docker-compose exec nginx bash
    5. #将会停止UP命令启动的容器,并删除容器
    6. docker-compose down
    7. #显示所有容器
    8. docker-compose ps
    9. #重新启动nginx容器
    10. docker-compose restart nginx
    11. #构建镜像
    12. docker-compose build nginx
    13. #不带缓存的构建
    14. docker-compose build --no-cache nginx
    15. #查看nginx的日志
    16. docker-compose logs nginx
    17. #查看nginx的实时日志
    18. docker-compose logs -f nginx
    19. #验证(docker-compose.yml)文件配置,
    20. #当配置正确时,不输出任何内容,当文件配置错误,输出错误信息
    21. docker-compose config -q
    22. #以json的形式输出nginx的docker日志
    23. docker-compose events --json nginx
    24. #暂停nignx容器
    25. docker-compose pause nginx
    26. #恢复ningx容器
    27. docker-compose unpause nginx
    28. #删除容器
    29. docker-compose rm nginx
    30. #停止nignx容器
    31. docker-compose stop nginx
    32. #启动nignx容器
    33. docker-compose start nginx

    Docker Compose实战

    Docker Compose - 大魔王先生 - 博客园

    百度安全验证

  • 相关阅读:
    6.webpack4打包图片资源
    被生活、房贷车贷压得喘不过气的35岁测试工程师,拿什么来谈追求~
    1533_AURIX_TriCore内核架构_指令集信息
    使用枚举Enum代替Integer类型
    二分查找——经典题目合集
    损失函数(Loss Function)与代价函数(Cost Function)、目标函数(Objective Function)区别
    图文并茂——队列的实现 ,C语言实现
    Linux命令(77)之curl
    win10如何清除ftp自动保存的账户密码
    艺人百度百科怎么创建
  • 原文地址:https://blog.csdn.net/juanxiaseng0838/article/details/127553225