本文仅供学习,正常发布线上项目,千万不能这么干
如果你已经掌握这种简单的发布方式,建议学习配置证书的发送方式,避免主机被黑
docker基础(21):配置CA证书远程发布项目
文章目录
通过docker插件发布项目到服务器
建议在自己电脑的虚拟机上操作。
第一步、开启docker远程访问
- 编辑/lib/systemd/system/docker.service
vim /lib/systemd/system/docker.service
开启远程
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
2. 重新加载配置并重启docker
# 重新加载配置
systemctl daemon-reload
# 重启docker
service docker restart
- 测试访问远程端口
curl localhost:2375/version
第二步、安装docker插件
- 打开插件市场
- 安装docker插件,安装后需要重启IDEA
- 配置远程
第三步 、准备一个测试项目
前面我已经手动发布过一个项目,这里继续使用这个项目进行发布,如果不知道如何准备,请移步查看。
docker基础(14):如何手动发布项目
第四步、配置configuraction
- 修改Dockerfile,(由于手动发布和和IDEA发布时jar文件的位置不一样,所以需要改动)
FROM java:8
#手动发布时jar和Dockerfile是同目录
#COPY *.jar /app.jar
# 本机jar在target目录
COPY target/*.jar /app.jar
CMD ["--server.port=8080"]
# 对外端口
EXPOSE 8080
CMD echo "----app start---"
ENTRYPOINT ["java","-jar","/app.jar"]
-
点击配置
-
点击+,创建一个发布配置。
-
填写配置信息,点击ok
-
打包生成jar文件
-
发布到远程docker
-
选择你刚刚的配置名称,控制台输出发布成功。
到这里项目就发布成功了
遇到的问题
问题1: 日志时间不对,这里明显少了8个小时,属于世界标准时。
解决办法:
修改Dockerfile,设定时区
# 解决时区问题
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
如果是docker命令运行,则可以可以在启动时,添加如下参数设定时间
-v /etc/localtime:/etc/localtime
记一次惨痛教训
就在我3月17日开启docker 2375远程部署,结果第二天3月18日就被拉取挖矿了,千万不要无密码开启这个远程部署。如果是学习,请操作完成后关闭掉服务,或者安全组配置ip白名单。
相关的解决办法:http://blog.itpub.net/69988117/viewspace-2773055/