简介
Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Compose 安装
# 运行此命令以下载 Docker Compose 的当前稳定版本:
sudo curl -L “https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-
(
u
n
a
m
e
−
s
)
−
(uname -s)-
(uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
# 对二进制文件应用可执行权限:
sudo chmod +x /usr/local/bin/docker-compose
# 测试是否安装成功
docker-compose --version
Docker Compose version v2.2.3
离线安装
在安装的过程中,常常会因网络问题导致使用命令安装失败,可以直接下载文件进行安装。
文件下载地下:https://github.com/docker/compose/releases

选择系统对应的文件进行下载,下载完成后将文件Copy到服务器/usr/local/bin/docker-compose
再执行:sudo chmod +x /usr/local/bin/docker-compose 授权文件可执行权限
Docker-Compose部署
1.目录结构
compose-test
docker-compose.yml
compose-test
xxxxxxx.jar
Dockerfile
2.docker-compose.yml
version: “3.9”
services:
jitmom-service:
image: lpoms-test-jitmom-service:latest
container_name: lpoms-test-jitmom-service
build:
context: ./
dockerfile: ./compose-test/Dockerfile
deploy:
resources:
limits:
memory: 1024M
reservations:
memory: 128M
restart: unless-stopped
volumes:
- /data/compose-test/appfiles:/var/xxxxxx
entrypoint:
- java
- -Dserver_port=9000
- -jar
- /data/xxxxxxx.jar
3.Dockerfile
FROM openjdk:8u282-jre
MAINTAINER Zhang Junfeng free_peak@foxmail.com
VOLUME /var/xxxxxx
EXPOSE 9000
ADD ./compose-test/xxxxxxx.jar /data/xxxxxxx.jar
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo ‘Asia/Shanghai’ >/etc/timezone
ENTRYPOINT [“java”,“-Dserver_port=9000”,“-jar”,“/data/xxxxxxx.jar”]
4、编译及运行
编译
docker-compose build
运行
docker-compose up -d
其他
docker-compose up 与docker-compose up -d 用法和区别
两者都是通过提前编写好的yml 文件在当前宿主机上创建或者重新创建容器,除此之外,除非容器服务已经运行,否则启动所有链接服务。
docker-compose up 本质是docker-compose logs -f,它会收集所有容器的日志输出直到退出docker-compose up命令,或者容器都停止运行,比如创建容器时失败,会退出当前命令行
docker-compose up -d 以后台的方式运行容器。不会在终端上打印运行日志
本文详细介绍了Compose工具的安装、部署流程,包括docker-compose.yml的配置、Dockerfile编写,以及docker-compose up与up-d的区别。重点讲解了如何使用Compose进行多容器应用程序的管理和部署。
6996

被折叠的 条评论
为什么被折叠?



