0-1 Centos查看docker容器ip
0-1-1. 安装net-tools
1 | yum install net-tools -y |
0-1-2. 查看 docker0 inet addr后面的即为docker容器ip
1 | ifconfig |
0-2. 查看centos版本
1 | cat /etc/redhat-release |
一. docker Failed to get D-Bus connection: Operation not permitted 解决办法
1 | https://www.jianshu.com/p/175b59c2192f |
系统用的是centos7.3,docker1.12,不管是在生成镜像时,或者是在容器内,如果用的systemctl,service命令就会报Failed to get D-Bus connection: Operation not permitted。有人说centos7.2以后,就没有这个问题了,我用的7.3一样会有这样的问题
1-1. 创建容器
1 | docker run --name centos7 --privileged -d -e "container=docker" -p 8091:22 -p 8092:80 -p 8093:443 -p 8094:5901 ansible/centos7-ansible /usr/sbin/init |
备注:
1 2 3 4 | --name centos7 //下一步进入容器时会用到 --privileged //加入特权 -p 8091:22 //本机的8091端口 转 容器的22端口 ansible/centos7-ansible //镜像docker images ,可以查看 |
如果是交互模式,也就是-d换成-it,是进不去的,会提示你输入用户名和密码(我试过也进入不了)。
1-2. 进入容器
1 | docker exec -it centos7 /bin/bash |
3. 从以下命令中可以看出systemctl stop sshd.service ….等命令都已经成功.因为有安装了openssh-server
二. 使用ssh直连docker容器的方法 :解决Connection refused报错
1 | https://www.icode9.com/content-4-1158237.html |
2-2. 更新yum
1 | yum update -y |
2-3. yum 安装openssh-server
1 | yum install -y openssh-server |
2-4. 设置密码,输两次
1 | passwd root |
2-5. 修改配置文件
1 | vi /etc/ssh/sshd_config |
1 2 3 | LoginGraceTime 2m //#去掉,改为600m PermitRootLogin yes //#去掉 StrictModes yes //#去掉 |
2-6. 重启ssh服务
1 | systemctl restart sshd.service |
三. 安装Lnmp
1 | https://www.vermax.cn/642.html |
3-1. 安装成功
四. 安装vncserver@:1.service 远程
1 | https://www.vermax.cn/1658.html |
五. 解决端口映射问题:
5-1. 宿主机上要放行如下端口:
1 2 3 4 5 6 7 8 9 | firewall-cmd --zone=public --permanent --add-port=8091/tcp firewall-cmd --zone=public --permanent --add-port=8091/udp firewall-cmd --zone=public --permanent --add-port=8092/tcp firewall-cmd --zone=public --permanent --add-port=8092/udp firewall-cmd --zone=public --permanent --add-port=8093/tcp firewall-cmd --zone=public --permanent --add-port=8093/udp firewall-cmd --zone=public --permanent --add-port=8094/tcp firewall-cmd --zone=public --permanent --add-port=8094/udp firewall-cmd --reload |
5-2. 阿里云后台要放行如上端口
5-3. 容器里要放行如下端口:
1 2 3 4 5 6 7 8 9 | firewall-cmd --zone=public --permanent --add-port=22/tcp firewall-cmd --zone=public --permanent --add-port=22/udp firewall-cmd --zone=public --permanent --add-port=80/tcp firewall-cmd --zone=public --permanent --add-port=80/udp firewall-cmd --zone=public --permanent --add-port=443/tcp firewall-cmd --zone=public --permanent --add-port=443/udp firewall-cmd --zone=public --permanent --add-port=5901/tcp firewall-cmd --zone=public --permanent --add-port=5901/udp firewall-cmd --reload |
5-4. 大功告成
5-4-1. 22端口打开成功
1 | ssh -p 8091 root@127.0.0.1 |
5-4-2. 80端口打开成功
5-4-3. 5901 VNC连接打开成功