1、安装docker
2、下载docker-compose
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /mnt/docker-compose
3、给文件赋权
chmod +x /mnt/docker-compose
4、上传springboot项目jar包到workspace
5、新建Dockerfile文件
FROM java:8 VOLUME /tmp ADD demo-0.0.1-SNAPSHOT.jar app.jar RUN bash -c 'touch /app.jar' EXPOSE 9000 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]
6、新建docker-compose.yml文件
version: '2' services: nginx: image: nginx:1.16.1 ports: - 80:80 - 443:443 privileged: true restart: always volumes: - /mnt/tools/nginx/conf/nginx.conf:/etc/nginx/nginx.conf - /mnt/tools/nginx/conf/keys:/etc/nginx/keys - /mnt/tools/nginx/conf/conf.d:/etc/nginx/conf.d - /mnt/tools/nginx/www:/usr/share/nginx/html - /mnt/tools/nginx/logs:/var/log/nginx redis: image: redis:5.0 privileged: true restart: always ports: - 6379:6379 volumes: - /mnt/tools/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf - /mnt/tools/redis/data:/data command: # 以配置文件的方式启动 redis.conf redis-server /usr/local/etc/redis/redis.conf demo: build: . restart: always ports: - 8080:8080 depends_on: - nginx - redis
7、在宿主机/mnt/tools下创建相应的nginx、redis目录
8、编辑nginx.conf和redis.conf并上传指定宿主机路径
9、拉取并执行docker-compose
/mnt/docker/docker-compose up -d # -d表示后台启动
10、当修改代码重新上传后,需要刷新容器
./docker-compose up --force-recreate --build -d
说明:当项目跟redis、mysql等在一台宿主机上时,可以用宿主机的内网ip作为访问地址,当不在一台宿主机上时,需要用宿主机的外网ip作为访问地址,尤其需要注意redis的访问权限bind,和mysql的访问权限。以防无法访问和安全问题。