一、操作系统准备:centos7.8
二、docker环境准备
(1)卸载之前版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2)安装docker仓库及工具
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
如速度慢可切换国内的镜像
(3)安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io
(4)启动docker
sudo systemctl start docker
可通过docker version查看版本。
三、docker compose准备工作
docker compose实现对docker容器的编排,能实现多容器的快速部署。
(1)下载最新的docker compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
(2)文件授权
sudo chmod +x /usr/local/bin/docker-compose
可通过docker-compose –version查看版本。
四、镜像构建 使用dockerfile进行构建,镜像中不同的地方应该写在这里,这样才能区别官方的镜像。
(1)redis镜像构建
# 基础镜像
FROM redis
# author
MAINTAINER haoyu
# 挂载目录
VOLUME /home/haoyu/redis
# 创建目录
RUN mkdir -p /home/haoyu/redis
# 指定路径
WORKDIR /home/haoyu/redis
# 复制conf文件到路径
COPY ./conf/redis.conf /home/haoyu/redis/redis.conf
(2)mysql镜像构建
# 基础镜像
FROM mysql:5.7
# author
MAINTAINER haoyu
# 执行sql脚本
ADD ./db/*.sql /docker-entrypoint-initdb.d/
(3)nginx镜像构建
# 基础镜像
FROM nginx
# author
MAINTAINER haoyu
# 挂载目录
VOLUME /home/haoyu/projects/haoyu-ui
# 创建目录
RUN mkdir -p /home/haoyu/projects/haoyu-ui
# 指定路径
WORKDIR /home/haoyu/projects/haoyu-ui
# 复制conf文件到路径
COPY ./conf/nginx.conf /etc/nginx/nginx.conf
# 复制html文件到路径
COPY ./html/dist /home/haoyu/projects/haoyu-ui
(4)后台程序构建
# 基础镜像
FROM java:8
# author
MAINTAINER haoyu
# 挂载目录
VOLUME /home/haoyu
# 创建目录
RUN mkdir -p /home/haoyu
# 指定路径
WORKDIR /home/haoyu
# 复制jar文件到路径
COPY ./jar/*.jar /home/haoyu/haoyu.jar
# 启动应用
ENTRYPOINT ["java","-jar","haoyu.jar"]
五、docker compose 编排
类如:
version : '3'
services:
haoyu-mysql:
container_name: haoyu-mysql
image: mysql:5.7
build:
context: .
dockerfile: mysql-dockerfile
ports:
- "3306:3306"
volumes:
- ./mysql/conf:/etc/mysql/conf.d
- ./mysql/logs:/logs
- ./mysql/data:/var/lib/mysql
注意:
数据库mysql地址需要修改成haoyu-mysql
缓存redis地址需要修改成haoyu-redis
六、构建docker服务
docker-compose build
七、启动docker容器
docker-compose up -d
如以上正常,即可看到界面。