Docker Compose及Docker 知识点整理

目录

[1、Docker Compose 简介](#1、Docker Compose 简介)

[2、为什么要使用Docker Compose](#2、为什么要使用Docker Compose)

[3、Docker Compose安装使用(Linux)](#3、Docker Compose安装使用(Linux))

[3.1 下载](#3.1 下载)

[3.2 mkdir docker 文件夹目录](#3.2 mkdir docker 文件夹目录)

[3.3 上传docker-compose到docker文件夹](#3.3 上传docker-compose到docker文件夹)

[3.4 移动到 /usr/local/bin 目录下](#3.4 移动到 /usr/local/bin 目录下)

[3.5 添加执行权限](#3.5 添加执行权限)

[3.6 修改文件名为 docker-compose](#3.6 修改文件名为 docker-compose)

[3.7 查看版本](#3.7 查看版本)

[⭐3.8 创建docker-compose.yml文件](#⭐3.8 创建docker-compose.yml文件)

4、idea整合docker-compose

[4.1 Dockerfile](#4.1 Dockerfile)

[4.2 创建docker-compose.yml文件](#4.2 创建docker-compose.yml文件)

[⭐Docker 相关知识点整理](#⭐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博客


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

相关推荐
鳄鱼杆7 小时前
服务器 | Docker应用开发与部署的实践以及阿里云镜像加速配置
服务器·阿里云·docker
逍遥浪子~8 小时前
docker实践(一)
运维·docker·容器
AI云原生8 小时前
如何使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的教程
运维·docker·云原生·容器·serverless·firefox·kubeless
❀͜͡傀儡师10 小时前
Docker部署搜索引擎SearXNG
运维·docker·容器·searxng
泡沫冰@10 小时前
K8S集群管理(3)
云原生·容器·kubernetes
虎头金猫10 小时前
如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
linux·运维·ubuntu·docker·pdf·开源·centos
Sam-August11 小时前
【分布式架构实战】Spring Cloud 与 Dubbo 深度对比:从架构到实战,谁才是微服务的王者?
java·spring cloud·dubbo
麦兜*11 小时前
MongoDB 常见错误解决方案:从连接失败到主从同步问题
java·数据库·spring boot·redis·mongodb·容器
nathan052913 小时前
Kubernetes 实战练习指南
云原生·容器·kubernetes
janthinasnail14 小时前
使用Docker搭建MaxKB智能体平台
docker·maxkb