社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
查找
docker search centos
拉取镜像
docker pull centos
使用bash方式启动镜像,否则刚刚启动直接关闭
返回一个容器Id给你
docker run -d -i -t <imageName> /bin/bash
连接镜像
特别讲解 5d0,这是容器Id的缩写。
当你的容器启动的很少,并且缩写的Id不会冲突的时候,你就可以这么写,写几位主要看Id会不会冲突
docker exec -it 5d0 bash
进入Centos后,发现竟然没有ifconfig和ssh,开始安装
yum search ifconfig
yum install net-tools.x86_64
可以查看ip了
ping一下主机
查看ssh服务
rpm -qa |grep ssh
安装ssh服务
yum install -y openssh-server
启动ssh(这里先提一下,作为服务启动会报错,自启动会报错,下文会提到解决方案)
/usr/sbin/sshd -D
如果启动报错下面的错误,根据提示需要安装ssh key,一条命令敲2次回车就好
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_ed25519_key
重置centos密码
passwd root
退出容器,不会关闭容易
Ctrl+P+Q
停止容器
docker stop <容器ID>
提交当前镜像
docker commit -m ‘提交信息’ <容器ID> <NAME/VERSION>
启动新容器,端口映射到55667
docker run -itd -p 55667:22 <刚才提交的镜像ID> /bin/bash
xshell配置
打开之后,你会发现,没连接上,啥情况啊
原因:我用的是windows老板的docker,新版本没测试,希望你们不会遇见哦。有可能是当你关闭容器的时候,启动程序也关闭了,所以ssh已经关闭了,这个时候如果,你再去打开ssh,你就可以连接上了
进入的是你自定义的镜像,不要进错了
启动ssh服务,打开xshell连接,连接用户:root,密码就是上面设置的,我设置的是root
到这里,你是不是有点失望,ssh不能自启动,每次都要进容器启动,好麻烦啊?
设置sshd为开机自启动服务,狗带~~~????
Failed to get D-Bus connection: Operation not permitted
D-Bus连接失败:不允许操作
原因:报这个错是因为dbus-daemon没能启动。systemctl并不是不能使用。将CMD或者entrypoint设置为/usr/sbin/init即可。docker容器会自动将dbus等服务启动起来。
这次启动我换端口了:56565
docker run --privileged -ti -e "container=docker" -v /sys/fs/cgroup:/sys/fs/cgroup -p 56565:22 <imageName> /usr/sbin/init
启动之后,输入用户名和密码,再将ssh设为自启动就可以了,然后将这个镜像停止,再次commit,然后启动,以后只要你电脑开启,docker自启动,里面的centos镜像就会跟着自启动,xshell可以自动连接上,不需要再次进入容器内部打开了
??????????????
?如果,各位读者发现什么错误,请指正?
?如果,遇见什么问题,也可以与我联系?
??????????????
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!