Loading

Linux下安装Docker Compose及其实战

为什么要安装Docker Compose 概述呢?

在使用 Docker 的时候,定义 Dockerfile 文件,停止容器,删除容器,删除镜像,构建镜像(docker build),发布服务、(docker run)等一系列的命令操作,如果是多个服务,这一套下来维护量是不是很大,人直接傻掉了

 docker stop 容器
 docker rmi 容器
 docker images
 docker rmi 镜像
 docker rmi 镜像
 docker build -t 服务 .
 docker run -d --restart=always --name 服务 -v /usr/local/logs:/home/jar-logs -p 端口:端口 服务

所以就有了Docker Compose,使用 Docker Compose 可以轻松、高效的管理容器,它是一个用于定义和运行多容器 Docker 的应用程序工具

Docker Compose 概述概述

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

官方文档安装

官网地址

官网地址

Docer Compose下载安装

运行以下命令下载 Docker Compose 的当前稳定版本:
对二进制文件应用可执行权限
因为docker-compose是一个可执行shell脚本文件,所以下载之后修改权限

[root@rzk ~]#  sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@rzk ~]#  sudo chmod +x /usr/local/bin/docker-compose

查看版本

[root@rzk ~]# docker-compose -v
docker-compose version 1.29.2, build 5becea4c

进入/usr/local/bin 查看是否有docker-compose文件

Docker-Compose实战启动springboot项目

编写Dockerfile

[root@rzk jar]# cat Dockerfile


FROM java:8

COPY wxserver-0.0.1-SNAPSHOT.jar /wxserver.jar

CMD ["--server.port=80"]

EXPOSE 80

ENTRYPOINT ["java","-jar","/wxserver.jar"]

编写docker-compose.yml

version: "3"
services:
   web:
      container_name: wxservice
      build: ./wxserver-0.0.1-SNAPSHOT.jar
      image: wxservice
      ports:
        - "80:80"   

所需要就是一个本地可运行jar包,刚才编写的一个Dockerfile,还有一个docker-compose.yaml

运行docker-compose

启动一

docker-compose up

启动二

docker-compose build (先构建)

构建成功后可以使用 docker images 查看镜像

[root@rzk jar]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wxservice latest ee4ba610ce97 7 seconds ago 689MB

接下来就是启动容器

[root@rzk jar]# docker-compose up 
Creating wxservice ... done
Attaching to wxservice
wxservice | 
wxservice |   .   ____          _            __ _ _
wxservice |  /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
wxservice | ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
wxservice |  \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
wxservice |   '  |____| .__|_| |_|_| |_\__, | / / / /
wxservice |  =========|_|==============|___/=/_/_/_/
wxservice |  :: Spring Boot ::                (v2.6.2)
wxservice | 
wxservice |  _ _   |_  _ _|_. ___ _ |    _ 
wxservice | | | |\/|_)(_| | |_\  |_)||_|_\ 
wxservice |      /               |         
wxservice |                         3.4.1 

启动,停止,停止并且删除,查看日志等命令

docker-compose ps 查看运行中的容器

[root@rzk jar]# docker-compose ps
  Name                 Command               State                Ports              
-------------------------------------------------------------------------------------
wxservice   java -jar /wxserver.jar -- ...   Up      0.0.0.0:80->80/tcp,:::80->80/tcp

docker-compose stop 停止容器

[root@rzk jar]# docker-compose stop
Stopping wxservice ... done
^[[A[root@rzk jar]# docker-compose ps
  Name                 Command                State     Ports
-------------------------------------------------------------
wxservice   java -jar /wxserver.jar -- ...   Exit 143 

docker-compose down 停止并删除容器镜像

[root@rzk jar]# docker-compose down
Stopping wxservice ... done
Removing wxservice ... done
Removing network jar_default

总结docker-compose用到的一些命令

container_name: 自定义镜像,容器名
build:构建当前文件夹下dockerfile定义的jar路径
image: 镜像名
posted @ 2022-04-18 17:21  Rzk  阅读(1136)  评论(0编辑  收藏  举报