- 安装Docker和Docker-compose
- 配置Dockerfile,制作镜像
- 配置Docker-compose,配置docker-compose.yml脚本
- 测试启动
安装Docker和Docker-compose
安装Docker
#备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
#下载阿里云源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
#安装docker
yum install -y docker
systemctl status docker
systemctl enable docker
#修改docker工作目录
cat /etc/docker/daemon.json
{
"data-root": "/home/docker",
#解决https错误
"insecure-registries":["ip/域名:port"]
}
安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#速度较快的国内安装
curl -L https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
配置Dockerfile,制作镜像
选择较小的alpain镜像安装(谨慎选择,直接拉的镜像不支持中文字符,时间没有经过矫正)
#建议上传至本地仓库或者云镜像仓库
#拉取合适镜像,建议自己定制
From dquintela/openjdk-8-jdk-alpine
#同步时间
ADD timezone /etc/timezone
#timezone
Asia/Shanghai
#加入启动命令
ADD docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
RUN chmod +x /usr/bin/docker-entrypoint.sh
##docker-entrypoint.sh
#!/bin/sh
set -o pipefail
if [ "${1:0:1}" = '-' ]; then
set -- java "$@"
fi
XMX=${XMX:-512}
set -- java -jar -Xmx${XMX}m -Djava.security.egd=file:/dev/./urandom /app/app.jar
echo $@
exec $@
#注:如需要特殊配置或者极致精简版本,自行查阅
#项目镜像请根据需求制作
#例:
#Dockerfile
FROM 10.15.8.83:5000/qingzhu/jre1.8:latest
WORKDIR /app
ADD ./qingzhu-backend*.jar /app/app.jar
ENTRYPOINT ["docker-entrypoint.sh"]
配置Docker-compose,配置docker-compose.yml脚本
version: '2'
services:
backend01:
image: 镜像地址/group/ProjectName:latest
container_name: containerName
hostname: hostname
extends:
file: peer-base.yaml
service: peer-base
ports:
- "主机端口:容器端口"
#volumes:
# - "/data/backend:/app/logs"
environment:
- JARNAME=app.jar
#peer-base.yaml
version: '2'
services:
peer-base:
cap_add:
- SYS_PTRACE
restart: always
env_file:
- ./.env
network_mode: host
测试启动
docker-compose up
docker-compose down
#具体docker-compose请查看https://www.cnblogs.com/chyc/p/14332263.html