继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

从零开始docker

POPMUISE
关注TA
已关注
手记 273
粉丝 80
获赞 423

第三天实现ssh连接docker实例为所欲为



一、使用Dockerfile生成docker镜像

按照前两天的教程,我们现在已经有了一个centos75的基础镜像,今天我们将在这个的基础上创建新的镜像。

我们使用如下炒鸡简单的一个dockerfile去生成一个镜像。

from表示我们使用的哪个镜像作为基础镜像

第二行代表这个的创建和维护者

第三行表示我们要对外暴露的端口是22 如题

最后是一个我们要执行的初始化命令,CMD表示我们在镜像启动的时候要执行的命令。

From centos7:7.5.1804

MAINTAINER ryan

EXPOSE 22

CMD [ "/usr/sbin/init"]

接下来我们就用这个dockerfile去实践一下吧

[root@docker01 ~]# docker build -t centos7-ssh:7.5 .

Sending build context to Docker daemon  31.74kB

Step 1/4 : From centos7:7.5.1804

---> b3770af0e658

Step 2/4 : MAINTAINER ryan

---> Running in 65a7f9f266a0

Removing intermediate container 65a7f9f266a0

---> 5184cc3b4ef9

Step 3/4 : EXPOSE 22

---> Running in 7c8706532bc3

Removing intermediate container 7c8706532bc3

---> 72b0e0b70903

Step 4/4 : CMD [ "/usr/sbin/init"]

---> Running in b761e2e0cc05

Removing intermediate container b761e2e0cc05

---> 9bff79522ca0

Successfully built 9bff79522ca0

Successfully tagged centos7-ssh:7.5




创建成功~



二、使用镜像创建docker实例

经过一顿操作以后当你想开开心心的使用systemctl命令的时候,如下报错就会喜闻乐见了。

[root@d8bc65ec2ffb /]# systemctl status sshd

Failed to get D-Bus connection: Operation not permitted

废话不多说这样可以解决。

我们将本机的2222端口映射到docker容器的22端口,其中根据通过bing搜索到的大神的说法,开启相关的服务是依赖于cgroup。

docker run -d --privileged -p 2222:22 -v /sys/fs/cgroup:/sys/fs/cgroup/ --name base centos7-ssh:7.5

这样我们就能够通过本机ip加上2222端口连接到docker容器的内部为所欲为了。

忘记说了 还得要docker容器设置一下root密码 才可以登陆哦。



作者:安静的熊猫人
链接:https://www.jianshu.com/p/4afa7188f210

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP