码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Docker Compose及Docker 知识点整理


    目录

    1、Docker Compose 简介

    2、为什么要使用Docker Compose

    3、Docker Compose安装使用(Linux)

    3.1 下载

    3.2 mkdir docker 文件夹目录

    3.3 上传docker-compose到docker文件夹

    3.4 移动到 /usr/local/bin 目录下

    3.5 添加执行权限

    3.6 修改文件名为 docker-compose

    3.7 查看版本

    ⭐3.8 创建docker-compose.yml文件

    4、idea整合docker-compose

    4.1 Dockerfile

    4.2 创建docker-compose.yml文件

    ⭐Docker 相关知识点整理


    1、Docker Compose 简介

    图片来源:.NET Core容器化之多容器应用部署@Docker-Compose - JavaShuo

    官网简介:Docker Compose overview | Docker Docs

    根据官网的说明,Compose是一个定义和运行多容器Docker应用程序的工具。使用Compose,您可以使用YAML文件来配置应用程序的服务。然后,只需一个命令,就可以从配置中创建并启动所有服务。

    在所有环境中创作作品;生产、试运行、开发、测试以及CI工作流。它还包含用于管理应用程序整个生命周期的命令:

    • 启动、停止和重建服务
    • 查看运行服务的状态
    • 流式传输正在运行的服务的日志输出
    • 在服务上运行一次性命令

    Compose的关键特性使其有效:

    • 在单个主机上拥有多个独立的环境
    • 创建容器时保留卷数据
    • 仅重新创建已更改的容器
    • 支持变量和在环境之间移动组合

    2、为什么要使用Docker Compose

    因为在实际开发中,一个应用往往包含许多个服务,而docker的应用是作为一个容器只运行一个应用进程。因此如果要运行多个微服务就需要运行多个容器,compose的出现就是为了有效地管理这些容器,包括定义、创建、启动等。它是一个能够编排多容器分布式部署的工具。使用 compose 可以简化容器镜像的构建以及容器的运行。

    本质上,compose 把 YAML 文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间的依赖关系由 YAML 文件中的 links 标记指定。(本段引自:https://www.jianshu.com/p/87d701d0801d)

    简单来说,就是使用compose能够让docker的操作更加简单和便于管理。

    3、Docker Compose安装使用(Linux)

    3.1 下载

    下载地址(以v2.14.2版本为例):

    docker-compose-linux-x86_64

    3.2 mkdir docker 文件夹目录

    [root@localhost software]# mkdir docker
    [root@localhost software]# ls
    canal  docker  gitlab  jdk  mysql  nexus  nginx  project  rabbitmq  redis  redis_sentinel

    3.3 上传docker-compose到docker文件夹

    3.4 移动到 /usr/local/bin 目录下

    mv docker-compose-linux-x86_64  /usr/local/bin

    3.5 添加执行权限

    [root@localhost bin]# chmod u+x docker-compose-linux-x86_64

    [root@localhost bin]# ll

    总用量 43868

    -rwxr--r--. 1 root root 44920832 12月 1 14:15 docker-compose-linux-x86_64

    3.6 修改文件名为 docker-compose

    进入bin目录下

    [root@localhost bin]# mv docker-compose-linux-x86_64 docker-compose

    3.7 查看版本

    [root@localhost local]# cd bin/
    [root@localhost bin]# ls
    docker-compose
    [root@localhost bin]# docker-compose --version
    Docker Compose version v2.14.2

    ⭐3.8 创建docker-compose.yml文件

    简单测试版

    version: '2'
    services:
      hello-compose01:
        build: .
        image: nginx
        container_name: nginx_01
        ports:
          - "10001:80"
      hello-compose02:
        build: .
        image: nginx
        container_name: nginx_02
        ports:
          - "10002:80"

    图片来源:Docker-Compose简介 - 简书

    运行测试

    docker-compose的相关命令

    1. [root@localhost test]# docker-compose
    2. Usage: docker compose [OPTIONS] COMMAND
    3. Docker Compose
    4. Options:
    5. --ansi string Control when to print ANSI control characters
    6. ("never"|"always"|"auto") (default "auto")
    7. --compatibility Run compose in backward compatibility mode
    8. --env-file string Specify an alternate environment file.
    9. -f, --file stringArray Compose configuration files
    10. --parallel int Control max parallelism, -1 for unlimited (default -1)
    11. --profile stringArray Specify a profile to enable
    12. --project-directory string Specify an alternate working directory
    13. (default: the path of the, first specified, Compose file)
    14. -p, --project-name string Project name
    15. Commands:
    16. build Build or rebuild services
    17. convert Converts the compose file to platform's canonical format
    18. cp Copy files/folders between a service container and the local filesystem
    19. create Creates containers for a service.
    20. down Stop and remove containers, networks
    21. events Receive real time events from containers.
    22. exec Execute a command in a running container.
    23. images List images used by the created containers
    24. kill Force stop service containers.
    25. logs View output from containers
    26. ls List running compose projects
    27. pause Pause services
    28. port Print the public port for a port binding.
    29. ps List containers
    30. pull Pull service images
    31. push Push service images
    32. restart Restart service containers
    33. rm Removes stopped service containers
    34. run Run a one-off command on a service.
    35. start Start services
    36. stop Stop services
    37. top Display the running processes
    38. unpause Unpause services
    39. up Create and start containers
    40. version Show the Docker Compose version information
    41. Run 'docker compose COMMAND --help' for more information on a command.

    创建

    docker-compose up

    查看使用docker-compose创建的容器

    docker ps

    4、idea整合docker-compose

    4.1 Dockerfile

    容器和访问端口的关系

    编辑Dockerfile文件


     

    4.2 创建docker-compose.yml文件

     编辑Edit Configurations

    服务台开启查看

    创建运行compose

    注意:运行compose up 后报错 可能是由于本机未安装 Docker Desktop 该程序,下载安装后需重启电脑,再次运行成功。

    下载地址:Docker Desktop: The #1 Containerization Tool for Developers | Docker

    参考

    Docker-Compose简介 - 简书

    容器服务的深入应用及原理剖析(4)带你了解Docker Compose - 知乎

    .NET Core容器化之多容器应用部署@Docker-Compose - JavaShuo

    docker高级篇-docker-compose容器编排介绍及实战 - 知乎

    「Linux云计算SRE课程」docker-compose简介及使用!

    Docker入门之docker-compose - minseo - 博客园


    ⭐Docker 相关知识点整理

    1. docker常用命令总结:docker常用命令总结_林隐w的博客-CSDN博客

    2. docker搭建mysql主从数据库:docker搭建mysql主从数据库-CSDN博客

    3. SpringBoot整合Dockerfile:SpringBoot整合Dockerfile-CSDN博客


    感谢阅读,码字不易,多谢点赞!如有不当之处,欢迎反馈指出,感谢!

  • 相关阅读:
    配电站房门禁监控、气体监测、视频监控系统 设备安装
    从PMP理论看华为销售项目运作与管理
    外贸人必备!最全英语口语汇总
    6、Linux:一起玩转vi/vim编辑命令
    Go语言的100个错误使用场景(48-54)|错误管理
    vue的生命周期
    考研数学二复习笔记-高等数学-第一章 函数 极限 连续
    基于idea的YonBuilder Premium开发者工具(原NCC开发插件)使用说明
    zabbix邮件报警和微信报警
    web前端网页设计期末课程大作业:旅游网页主题网站设计——紫色的旅游开发景点网站静态模板(4页)HTML+CSS+JavaScript
  • 原文地址:https://blog.csdn.net/m0_62006803/article/details/134748113
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号