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: 鏡像名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM