docker-compose常用操作命令及部署Spring Cloud微服务
常用命令
docker-compose up -d
执行默认的docker-compose.yml
文件(-f
可以指定文件),按文件命令,逐步执行。-d
表示后台执行docker-compose images
返回编排的镜像列表docker-compose ps
返回运行的容器列表docker-compose down
停止运行的容器列表并删除容器docker-compose down --rmi all
停止运行的容器列表并删除容器和删除镜像部署Spring Cloud微服务的案例
eureka-service的Dockerfile文件
FROM hub.c.163.com/library/java:openjdk-8
VOLUME /tmp
ADD /eureka-service.jar /app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 10000
ENTRYPOINT ["java","-jar","/app.jar","-Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF-8 -server -Xms64m -Xmx768m","--spring.profiles.active=default"]
config-service的Dockerfile文件
FROM hub.c.163.com/library/java:openjdk-8
VOLUME /tmp
ADD /config-service.jar /app.jar
RUN bash -c 'touch /app.jar'
EXPOSE 10001
ENTRYPOINT ["java","-jar","/app.jar","-Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF-8 -server -Xms64m -Xmx768m","--spring.profiles.active=default"]
docker-compose.yml
version: '3'
services:
eureka-service:
image: eureka-service
build:
context: eureka-service
dockerfile: Dockerfile
ports:
- "10000:10000"
deploy:
resources:
limits:
cpus: '0.4'
memory: 768M
reservations:
cpus: '0.01'
memory: 128M
config-service:
image: config-service
build:
context: config-service
dockerfile: Dockerfile
ports:
- "10001:10001"
deploy:
resources:
limits:
cpus: '0.2'
memory: 512M
reservations:
cpus: '0.01'
memory: 64M
这里使用的openjdk-8,并使用docker-compose
构建镜像
目录结构
我们可以把每次要部署的jar包等都放到git仓库,然后从服务器拉取下来,再用docker-compose
统一编排部署
# 进入git拉取下来文件夹
cd docker_pro
# 统一编排
docker-compose up -d
这样服务就部署好了,如果需要更新服务程序,可以先删除掉,再重新构建(已存在的镜像不会重新构建)