做网站订金为什么需要交那么多,智能网站开发,wordpress 页面 文章 区别,单县网站定制目录
1、前言
2、安装Docker Compose
2.1、Docker Compose版本
2.2、下载安装
3、初试Docker Compose
3.1、传统方案部署应用
3.2、使用编排部署应用
3.3、其他命令
3.3.1、ps
3.3.2、images
3.3.3、depends_on
3.3.4、scale
4、小结 1、前言
随着应用架构的不段…目录
1、前言
2、安装Docker Compose
2.1、Docker Compose版本
2.2、下载安装
3、初试Docker Compose
3.1、传统方案部署应用
3.2、使用编排部署应用
3.3、其他命令
3.3.1、ps
3.3.2、images
3.3.3、depends_on
3.3.4、scale
4、小结 1、前言
随着应用架构的不段复杂和微服务的应用通常在一个系统中需要包含多个模块而一般情况下这些模块都会被部署到不同的 Docker 容器中。如果每一个模块都通过手动方式来完成部署则效率是非常低且也不利于系统的维护和扩展。
因此我们需要一个能够方便地定义管理编排我们复杂的容器的工具他就是我们接下来要说的Docker Compose。他是一个服务编排工具可以很方便的帮助我们对容器进行定义和编排他不是通过shell脚本命令而是通过yml描述语言来完成。 2、安装Docker Compose
Docker Compose的github地址GitHub - docker/compose: Define and run multi-container applications with Docker
Docker官方文档地址Docker Compose overview | Docker Documentation
2.1、Docker Compose版本
官方定义Docker ComposeCompose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Compose您可以使用 YAML 文件来配置应用程序的服务。然后使用单个命令您可以根据配置创建并启动所有服务。 当前Github最新release地址为2.20.2版本。推荐使用2.x版本因为官方已经表明v1版本将在2023-07起停止更新将在新版的Docker中不再可用而V2版本包含在所有当前支持的Docker版本中。 我这边下载的版本为2.16.0版本。
2.2、下载安装
官方文档中也有详细的安装步骤。Overview | Docker Documentation。 官方有2种安装方式一种是独立安装Compose另一种是安装Compose插件。采用插件安装是在我们已有的Docker引擎上完成Compose安装。这里我们采用插件方式安装 1首先我们下载安装Docker Compose
sudo curl -SL https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
如果curl很慢也可以手动下载文件然后上传上来。然后cp到/usr/local/bin/docker-compose下。 2接下来要给当前文件赋予执行x权限
chmod x /usr/local/bin/docker-compose 3查看dockerf compose版本
docker-compose --version
这样便安装成功了。 3、初试Docker Compose
以前面我们联系的镜像myapp为例。
3.1、传统方案部署应用
首先编制Dockerfile文件
FROM openjdk:8# 执行维护者的信息
MAINTAINER shamee csdn peng793049488# 创建一个存放该工程的目录
RUN mkdir -p /data/project
COPY myapp.jar /data/project/myapp.jar# 对外暴露一个8899端口
EXPOSE 8899# 执行启动
ENTRYPOINT [/bin/sh, -c, java -jar /data/project/myapp.jar]其次构建镜像
docker build -t myapp .
最后启动容器
docker run -d -p 18080:8080 myapp
查看执行结果 3.2、使用编排部署应用
1同样编制好Dockerfile文件
FROM openjdk:8# 执行维护者的信息
MAINTAINER shamee csdn peng793049488# 创建一个存放该工程的目录
RUN mkdir -p /data/project
COPY myapp.jar /data/project/myapp.jar# 对外暴露一个8899端口
EXPOSE 8899# 执行启动
ENTRYPOINT [/bin/sh, -c, java -jar /data/project/myapp.jar]2接着在目录下创建“docker-compose.yml”文件
touch docker-compose.yml
并输入以下内容
version: 3
services:myapp:build: .ports:- 18080:8080
versionCompose配置文件格式的版本3为当前最新推荐版本。services定义了该应用种所包含的模块。myapp定义了myapp模块。build通过“build”命令执行当前的Dockerfile文件。ports指定了映射端口。类似docker run 中的-p。
3启动应用
docker-compose up
初次启动会经历镜像构建比较慢 构建结束后会启动该容器 来访问下页面页面结果是一样的 3.3、其他命令
通过docker compose部署的应用我们可以使用相应命令查看镜像和容器信息等。
3.3.1、ps
查看容器。
docker-compose ps
# 查看全部容器
docker-compose ps -a 3.3.2、images
查看镜像。 3.3.3、depends_on
当启动一些模块的时候比如依赖于其他模块的优先启动可以使用depends_on。比如一个web应用模块启动之前db模块必须先启动。则在docker-compose.yml中可以指定这种顺序
version: 3
services:myapp:image: httpddepends_on:- dbdb:image: centos
3.3.4、scale
设置指定运行容器的个数动态进行扩容和缩容。
# 扩容到3个示例
docker-compose scale myapp3
4、小结
docker compose相关参数还有很多今天这里只是介绍了几个常用的参数以及命令。使用compose重点在于docker-compose.yml的配置管理以后会慢慢接触到。