dockerfile部署springboot项目

maven打包项目成jar

编写docker-compose.yml文件

version: '3'
services:
	##mysql配置
    mysql:
        environment:
        	##root账号的密码
            MYSQL_ROOT_PASSWORD: "123456"
        image: "docker.io/mysql:8.0.26" 
        container_name: mysql
        restart: always
        ##映射挂载
        volumes:
        	##数据目录,要确保先创建好
            - "/data/mysql:/var/lib/mysql"
            ##初始化的脚本,初始化我们存放的init.sql文件
            - "./mysql:/docker-entrypoint-initdb.d/"
        ports:
            - "3306:3306"
    ##redis配置
    redis:
      image: redis:latest
      container_name: redis
      command: redis-server --appendonly yes --requirepass "123456"
      ports:
        - "6379:6379"
      volumes:
      	##数据目录,要确保先创建好
        - /data/redis:/data
    java:
        image: ascdc/jdk8
        container_name: test-docker
        ports:
          - "8080:8080"
        volumes:
            - ~/docker/java/test-docker.jar:/data/test-docker.jar
        depends_on:
            - redis
            - mysql

执行命令生成需要的容器

docker-compose up -d

编写dockerfile文件

# dockerfile文件
# 该镜像需要依赖的基础镜像
FROM java:8
# 将当前目录下的jar包复制到docker容器的/目录下
ADD myblog-0.0.1-SNAPSHOT.jar /myblog.jar
# 运行过程中创建一个mall-tiny-docker-file.jar文件
RUN bash -c 'touch /myblog-0.0.1-SNAPSHOT.jar'
# 声明服务运行在8080端口
EXPOSE 8080
# 指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/myblog-0.0.1-SNAPSHOT.jar"]
# 指定维护者的名字
MAINTAINER cxt

然后执行生成镜像

docker build -t dockerfile:0.0.1-SNAPSHOT .

然后运行容器

``bash
docker run -p 8080:8080 --name myblog
–link mysql:mysql
–link redis:redis
-v /etc/localtime:/etc/localtime
-v /mydata/app/dockerfile/logs:/var/logs
-d dockerfile:0.0.1-SNAPSHOT

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值