为了账号安全,请及时绑定邮箱和手机立即绑定

从零开始docker

标签:
Docker

第三天实现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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消