解决 docker 安装 lnmp 权限不够的问题

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

123

二. 使用ssh直连docker容器的方法 :解决Connection refused报错

1
https://www.icode9.com/content-4-1158237.html

2-2. 更新yum

1
yum update -y

123

2-3. yum 安装openssh-server

1
yum install -y openssh-server

123

2-4. 设置密码,输两次

1
passwd root

123

2-5. 修改配置文件

1
vi /etc/ssh/sshd_config
1
2
3
LoginGraceTime 2m       //#去掉,改为600m
PermitRootLogin yes    //#去掉
StrictModes yes        //#去掉

123

2-6. 重启ssh服务

1
systemctl restart sshd.service

123

三. 安装Lnmp

1
https://www.vermax.cn/642.html

3-1. 安装成功
123
123
123

四. 安装vncserver@:1.service 远程

1
https://www.vermax.cn/1658.html

123
123

五. 解决端口映射问题:
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

123

5-2. 阿里云后台要放行如上端口

123

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

123
123

5-4-2. 80端口打开成功
123

5-4-3. 5901 VNC连接打开成功
123
123

Leave a Reply

Your email address will not be published. Required fields are marked *