docker-compose配置多个项目容器启动,配置示例、docker相关命令、相关注意事项
docker-compose配置示例
复制
version: "3"
networks:
mynetwork:
driver: bridge
services:
project-2:
container_name: project-2
build:
context: ./project-2
dockerfile: Dockerfile
ports:
- "8080:8080"
volumes:
- ./project-2/log:/app/log
networks:
- mynetwork
project-1:
container_name: project-1
build:
context: ./project-1
dockerfile: Dockerfile
ports:
- "8081:8081"
volumes:
- ./project-1/log:/app/log
networks:
- mynetwork
使用
centos安装docker,这里直接使用的官网文档,根据自己服务器环境来
复制
sudo yum install -y yum-utils
# 添加源仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 启动
sudo systemctl start docker
将项目文件jar包、项目目录中的Dockerfile文件上传到服务器(需要保持对照配置中的目录结构一样)
给出一个Dockerfile示例,启动参数不用管,按照你自己的来配置就可以
复制
FROM openjdk:17-jdk-alpine
LABEL authors="望舒"
WORKDIR /app
ADD target/project-1.jar .
EXPOSE 8080
ENTRYPOINT ["java", "-jar","-Dspring.profiles.active=docker","/app/project-1.jar"]
运行
复制
# 后台运行在命令行结尾添加 -d 就可以了
docker-compose -f 你的docker-compose.yml配置文件 up
一些常用命令(命令大多是和docker的一样的,只是多个 [-f 配置文件] 参数)
复制
# 查看正在运行的镜像
docker ps
# 查看正在运行镜像的实时日志输出
docker logs -f -t --tail -f 容器ID
# 查看所有镜像
docker images
# docker-compose单独启动配置中的某个服务,最后加 -d 后台启动
docker-compose -f docker-compose.yml up 服务名字
# docker-compose单独暂停配置中的某个服务
docker-compose -f docker-compose.yml down 服务名字
# 重新构建docker镜像,注意上传了新的配置文件或者jar包等,需要重新构建,而不是直接重启(不生效)运行
docker-compose -f docker-compose.yml build 服务名字
# 重新构建并启动
docker-compose -f docker-compose.yml up -d --build
# 删一些重新构建后无用的镜像,repository是<none>的镜像
linux:docker rmi $(docker images -f "dangling=true" -q)
windows powershell:docker images --filter "dangling=true" -q | ForEach-Object { docker rmi $_ }
# 开启docker远程访问
vim /usr/lib/systemd/system/docker.service
# 修改ExecStart
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
IDEA的docker插件也是很好用的,操作会很方便
作者:https://blog.xn--rpv331d.com/望舒
链接:https://blog.xn--rpv331d.com/望舒/blog/22
转载注意保留文章出处...
1
2
135
No data