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