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: 镜像名
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通