安装Docker-Compose:
安装docker-compose前需要安装docker
$ curl -L https://github.com/docker/compose/releases/download/1.8.0/run.sh > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
$ docker-compose --version
项目结构:
-
准备好两SpringBoot项目,并创建Dockerfile
-
Dockerfile内容:
FROM java8:v1.0 LABEL maintainer="Nagisa" WORKDIR /app/alibaba-seluth-zipkin/ ADD ./target/sleuth-server.jar /app/alibaba-seluth-zipkin/ ENTRYPOINT [ "java","-Xms128M","-Xmx128M","-Xmn64M", "-jar", "sleuth-server.jar" ] FROM java8:v1.0 LABEL maintainer="Nagisa" WORKDIR /app/alibaba-getway-server/ ADD ./target/alibaba-getway-server.jar /app/alibaba-getway-server/ ENTRYPOINT [ "java","-Xms128M","-Xmx128M","-Xmn64M", "-jar", "alibaba-getway-server.jar" ]
-
创建docker-compose.yml并运行(随便找个目录存放)
#version: '2'
services:
getway_server:
image: getway_server:v1.0 # 指定REPOSITORY和TAG
container_name: getway_server # 指定容器名
restart: always
network_mode: bridge
environment:
- TZ=Asia/Shanghai # 指定时区
build:
# 指定服务的,上下文路径。匹配dockerfile里面 ADD ./target/sleuth-server.jar
context: /Users/x/IdeaProjects/my-pro/alibaba-support-parent/alibaba-support-getway
# 指定服务的,Dockerfile位置
dockerfile: /Users/x/IdeaProjects/my-pro/alibaba-support-parent/alibaba-support-getway/Dockerfile
ports:
- 3010:3010 # 端口映射,可通过服务器IP:PORT访问
sleuth_server:
image: sleuth_server:v1.0 # 指定REPOSITORY和TAG
container_name: sleuth_server
restart: always
network_mode: bridge
environment:
- TZ=Asia/Shanghai
build:
context: /Users/x/IdeaProjects/my-pro/alibaba-support-parent/alibaba-sleuth-zipkin
dockerfile: /Users/x/IdeaProjects/my-pro/alibaba-support-parent/alibaba-sleuth-zipkin/Dockerfile
ports:
- 3020:3020
- 报错原因排查:
ADD failed: file not found in build context or excluded by .dockerignore: stat target/alibaba-getway-server.jar: file does not exist
ERROR: Service ‘getway_server’ failed to build : Build failed.
原因:docker-compose.yml文件中配置的build.context有问题,在指定的路径里面找不到alibaba-getway-server.jar这个jar包,说明指定的路口有问题。(步骤3中已修正)
Step 4/5 : ADD ./target/alibaba-getway-server.jar /app/alibaba-getway-server/
ADD failed: file not found in build context or excluded by .dockerignore: stat target/alibaba-getway-server.jar: file does not exist
ERROR: Service 'getway_server' failed to build : Build failed
`docker-compose` process finished with exit code 1
- 运行docker-compose后