初始化设置docker
编写daemon.json文件
vim /etc/docker/daemon.json
使用阿里云的docker加速
{
"registry-mirrors": [
"https://d8b3zdiw.mirror.aliyuncs.com"
],
"insecure-registries": [
"https://ower.site.com"
]
}
注意:其中的registry-mirrors设置的是阿里云的镜像加速地址,insecure-registries设置的是自己的私有仓库地址
重启docker
systemctl restart docker
将jar包上传到服务器 同目录下编写dockerfile文件
# 基础镜像使用java
FROM java:8
MAINTAINER jimtse
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
#添加时区环境变量,亚洲,上海
RUN apt-get update && \
apt-get install tzdata && \
ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
ENV TZ 'Asia/Shanghai'
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
# 将jar包添加到容器中并更名
ADD sync-system-server-1.0-SNAPSHOT.jar sync-system.jar
RUN bash -c 'touch /sync-system.jar'
ENTRYPOINT ["java","-Dfile.encoding=UTF-8","-Dsun.jnu.encoding=UTF-8","-Djava.security.egd=file:/dev/./urandom","-jar","/sync-system.jar"]
#暴露端口
EXPOSE 8080
构建镜像
docker build -f dockerfile -t sync-system:1 .
运行镜像
docker run --net=host -name sync-system -it -p 8080:8080 镜像ID
进入容器
docker exec -it 容器ID /bin/bash
创建docker网络(默认桥接模式)
docker network create tse_net
连接网络到正在运行的镜像
docker network connect tse_net sync_system
编写.sh脚本,每次叠加版本
docker build -t sync-system:1.0.1 .
docker stop sync_system
docker rm sync_system
docker run --net=host -itd --restart always --name sync_system -p 8080:8080 -v /home/opksync/data:/home/opksync/data sync-system:1.0.1
docker rmi $(docker images | grep "none" | awk '{print $3}')