一看必会系列:docker 练习 7 制作java运行环境

来源:本站原创 Docker 超过134 views围观 0条评论

docker file 制作java 运行环境

目录结构
├── dockerfile
└── run.sh

dockerfile 内容

FROM reg.ccie.wang/library/centos:7.5.1804
MAINTAINER jeff@jdccie.com
RUN yum -y install java-1.8.0-openjdk
ADD run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["./run.sh"]
EXPOSE 10091   #这个一定要有了这个可以直接用-P来分配端口

run.sh  内容
#!/bin/bash
cat >>/etc/security/limits.conf<<eof
* soft nofile 555550
* hard nofile 555550
eof

nohup java -jar /opt/dev/qun-exec.jar > /opt/dev/nohup.log & #后台运行命令

生成镜像  在当前目录下  docker build -t 镜像名 点
docker build -t centos_java1.8 .

root@docker01:/opt/dockerfile/centos_java1.8# docker images
REPOSITORY                                  TAG                 IMAGE ID            CREATED             SIZE
centos_java1.8   看下大小还可以             latest              9228d3ca4c44        3 hours ago         469MB                                      jave1.8             7799128ae1fa        18 hours ago        812MB
openjdk          原厂的大小                 13                  3351f725113b        4 days ago          462MB
java             原厂的大小                 8                   d23bdf5b1b1b        2 years ago         643MB
reg.ccie.wang/library/openjdk8-apline-ssh   1.8                 da33dfcb143e        4 weeks ago         136MB
上面这个就相当小了。基于apline

使用指定端口启动 -p
root@docker01:~# docker run -itd -p 10091:10091 -v /opt/dockerfile/java/:/opt/dev centos_java1.8
root@docker01:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                      NAMES
4e1957dd2c69        centos_java1.8      "./run.sh"          18 seconds ago      Up 16 seconds       0.0.0.0:10091->10091/tcp   lucid_margulis

使用随机端口启动 -P
root@docker01:~# docker run -itd -P -v /opt/dockerfile/java/:/opt/dev centos_java1.8
33d6b201ed7e372d5aae686cf48ee3bd155298fac2440e8019e047163d62defb
root@docker01:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                      NAMES
63a1c53f7504        cf00c586f612        "/bin/bash"         2 minutes ago       Up 2 minutes        0.0.0.0:32810->10091/tcp   blissful_hypatia
root@docker01:~#

验证
root@docker01:~# curl localhost:10091
curl: (56) Recv failure: Connection reset by peer
root@docker01:~# curl 127.0.0.1:10091
{"timestamp":"2019-03-19 14:26:05","status":404,"error":"Not Found","message":"No message available","path":"/"}root@docker01:~#
root@docker01:~# curl localhost:10091
{"timestamp":"2019-03-19 14:26:08","status":404,"error":"Not Found","message":"No message available","path":"/"}root@docker01:~#
以上为正常

 

 

—————报错
容器里面 Failed to get D-Bus connection: Operation not permitted
解决方式
[root@b349462aa85a /]# systemctl start zabbix-agent
Failed to get D-Bus connection: Operation not permitted
[root@b349462aa85a /]#
解决两种方式
1.使用脚本启动
/usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
2. 换启动方式
原来的运行方式
docker run -it reg.ccie.wang/library/centos:7.5.1804 /bin/bash
现改为
docker run -it reg.ccie.wang/library/centos:7.5.1804 /usr/sbin/init

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=4092转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

您必须 [ 登录 ] 才能发表留言!