赞
踩
公司主机管理组的兄弟安装了1Panel(社区版v1.10.10-lts),期望我们开发的小项目都通过docker来部署。我第一步要配置的就是怎么将docker镜像构建能力共享的问题,因为我本机是windows,不想再去折腾安装docker环境。
个人的粗浅认识:docker的核心能力就是构建轻量化虚拟机文件(镜像文件)和运行轻量化虚拟机。它的构建能力可以对本机服务,也可以对局域网服务。因此,是否安装1Panel与docker构建能力开放无关,只是通过1Panel工具可能编辑文件等更方便。
通过网络收索,发现共享docker构建能力的核心其实就是网络监听,因为外部机器要通过网络传递构建指令。主要包括3种方式:/etc/default/docker、/usr/lib/systemd/system/docker.service、/etc/docker/daemon.json。3种方式到底适合哪种,各有什么区别,我没有深度学习,我的建议是依次看3个文件,看到了就修改,然后重启docker试试。
我的思路是docker对外开放有默认的端口2375,我们可以先看看端口开放了没有。在1Panel中,可以在“主机”=》“终端”里面输入命令“netstat -tulnp”查看使用端口情况。我的已经打开了,所以显示里面有如下的:
tcp6 0 0 :::2375 :::* LISTEN 2378/dockerd
有就修改,没有就找下一个,修改一个就行。我就熟悉简单的命令,比如:cd、dir、ls、cat。这里要说明的是初学者建议用cat去编辑文件,容易上手一些。我就偷懒,直接用的1Panel的web编辑工具(“主机”=》“文件”)。
1)没有 /etc/default/docker 文件
2)有 /usr/lib/systemd/system/docker.service 文件,我修改的这个
其中,我 修改了 “[Service]”中“ExecStart”这部分,插入了 “ -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock”的内容。
- [Service]
- Type=notify
- # the default is not to use systemd for cgroups because the delegate issues still
- # exists and systemd currently does not support the cgroup feature set required
- # for containers run by docker
- ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock
- ExecReload=/bin/kill -s HUP $MAINPID
- TimeoutStartSec=0
- RestartSec=2
- Restart=always
3)有/etc/docker/daemon.json 文件,我没有修改这个
我的理解这个重启不是重启docker下面的容器实例,只是重启docker的守护进程。 我还是在1Panel的“主机”=》“终端”里面输入命令重启的。
sudo service docker restart
参考第一步。
docker核心功能包括镜像的构建和容器的运行,它可以开放端口将镜像构建的能力暴露。docker daeson就是docker的守护进程,开放能力是通过指定docker守护进程监听端口来实现的。后面开发人员就可以通过maven中docker插件来远程调用docker镜像构建能力了。
参考文章:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。