docker-compose、dockerfile部署项目
前置条件
-
安装docker
-
安装docker-compose
-
linux虚拟机环境
1、使用maven 打包项目为jar包
2、编写dockerfile,并制作镜像
cd ~
mkdir docker-compose dockerfile
#将1打包的jar传到dockerfile文件夹下
cd dockerfile/
vi dockerfile
#将如下配置写入dockerfile文件并保存退出
FROM openjdk:8-alpine3.9
# 作者信息
MAINTAINER xxx - Demo project for Spring Boot "xxxxxx@163.com"
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
EXPOSE 8001
ENTRYPOINT ["java","-jar","/app.jar"]
------------------------------------------------------
#在当前目录下执行
docker build --rm -t dockerdemo --build-arg JAR_FILE=DockerDemo.jar .
#即可看到dockerdemo镜像
docker images
3、编写docker-compose.yml,构建环境并启动项目
cd ~/docker-compose/
vi docker-compose.yml
#将如下配置写入docker-compose.yml文件并保存退出
version: "3"
services:
mysql:
image: mysql:5.7.31
environment:
MYSQL_ROOT_PASSWORD: "root"
ports:
- "3306:3306" # 设置数据库root账户的密码
volumes: # 配置数据卷
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
redis:
image: redis:latest
restart: always
ports:
- "6379:6379"
volumes:
- ./redis.conf:/etc/redis/redis.conf
command: redis-server /etc/redis/redis.conf
dockerdemo:
image: dockerdemo
container_name: dockerdemo
ports:
- 8001:8001
depends_on:
- mysql
- redis
------------------------------------------------------
#启动
docker-compose up -d