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的访问权限。以防无法访问和安全问题。

posted on 2022-02-15 18:24  程序员丁先生  阅读(164)  评论(0编辑  收藏  举报