安装docker
请百度
下载java8镜像
请百度
创建springboot镜像
- 准备好springboot的jar
- 新建Dockerfile文件
FROM java:8
VOLUME /tmp
COPY xxx-1.0.0.jar xxx.jar
RUN bash -c "touch /xxx.jar"
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "xxx.jar", "--server.port=8082"]
- 进入Dockfile所在的目录,创建镜像:
docker build -t xxx:v1.0.0 .
其中的.表示Dockfile所在的目录为当前目录 - 查看镜像是否构建成功
docker images
运行springboot容器
- 通过镜像运行容器:
docker run -d -p 8080:8080 \
--name xxx \
--restart=always \
-v /xx/xx:/ss/ss \
-v /xxx/xxx:/aaa/aaa \
xxx:v1.0.0
- 注意:在运行docker时,映射的目录和文件必须要提前创建,使用
mkdir
和vi
创建。否则会报错。
docker常用命令
- 查看运行中容器:
docker ps
- 启动容器:
docker start 容器名
- 停止容器:
docker stop 容器名
- 重启容器:
docker restart 容器名
- 进入docker容器:
docker exec -it 容器id
- 启动docker所有容器:
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
- 停止docker所有容器:
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)
- 设置docker开机启动:
systemctl enable docker
- 设置docker一启动就启动容器:
docker update --restart=always 容器ID或者容器名
- 使用on-failure策略时,指定Docker将尝试重新启动容器的最大次数
--restart=on-failure:10 //10次
--restart具体参数值详细信息:
no 容器退出时,不重启容器;
on-failure 只有在非0状态退出时才重新启动容器;
always 无论退出状态是如何,都重启容器;
exp: docker update --restart=always xxx