----------------------------------
后台运行-----------------------------------------
--------------------
一.创建路径:/usr/local/java/java
下面放项目jar和Dockerfile\
--------------------
二.项目中:
1.修改redis 密码、端口
2.修改solr搜索引擎配置:配置中、solrCom中
3.修改上传路径
4.修改debug
5.数据库密码
--------------------
三.Dockerfile编写如下:
----
FROM openjdk:8
ENV APP_PATH=/usr/local/java/java
WORKDIR $APP_PATH
ADD ./recruit.jar /$APP_PATH/recruit.jar
EXPOSE 8989
ENTRYPOINT ["java","-jar"]
CMD ["recruit.jar"]
--restart=always参数能够使我们在重启docker时,自动启动相关容器。 Docker容器的重
--privileged=true 加权限
--restart=always参数能够使我们在重启docker时,自动启动相关容器。 Docker容器的重启策略如下:
no,默认策略,在容器退出时不重启容器 on-failure,在容器非正常退出时(退出状态非0),才会重启容器
on-failure:3,在容器非正常退出时重启容器,最多重启3次
always,在容器退出时总是重启容器
unless-stopped,在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
————————————————
版权声明:本文为CSDN博主「yujkss」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39900031/article/details/131147039
--------------------
四.将上面的写好后
1.sudo docker build -t app:1.0 .
2.docker run -d -p 0.0.0.0:8989:8989 --net=host --restart=always --privileged=true -v /usr/local/app/data:/usr/local/app/data --name app app:1.0
3.docker logs -f 容器id 查看是否有问题
#以 --net=host 方式启动的项目此时 容器内和宿主机共用端口 因为docker会自动给每个容器分配ip,但是项目里配置的mysql地址是localhost,在容器内连接localhost是连接容器本身而不是宿主机的localhost,所以一直找不到mysql。所以采用host的网络方式将容器与宿主机共用一个Network Namespace,这样容器内localhost就是宿主机的localhost
,在使用这个方式后,端口-p映射就没有意义了。
————————————————
版权声明:本文为CSDN博主「一路向北