下载docker
[root@VM_0_16_centos /]# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
创建映射80端口的交互式容器
[root@VM_0_16_centos /]# docker run -it -p 80 --name webtest centos /bin/bash
安装nginx
[root@0e4e7a6ad4a5 /]# yum -y install nginx
安装vim
[root@0e4e7a6ad4a5 /]# yum -y install vim
编写静态页面
[root@0e4e7a6ad4a5 /]# mkdir -p /var/www/html
[root@0e4e7a6ad4a5 /]# cd /var/www/html
[root@0e4e7a6ad4a5 /]# vim index.html
index.html 内容:
点击
i
键进入输入模式
<html>
<head>
<title>Nginx in docker</title>
</head>
<body>
<h1>this is my docker</h1>
</body>
</html>
Esc
Shift + :
wq
保存并退出vim
修改nginx配置文件
找到nginx在哪
[root@0e4e7a6ad4a5 /]# whereis nginx
编辑配置文件
[root@0e4e7a6ad4a5 /]# cd /etc/nginx
[root@0e4e7a6ad4a5 /]# vim nginx.conf
保存并退出
启动nginx
在centos7.4 之后直接nginx就可以直接启动nginx
退出docker
Ctrl+P
Ctrl+Q
退出但不关闭容器
查看映射端口
webtest是你的docker容器名
- 用localhost:+端口号方式访问
-
如果是自己的服务器可以通过服务器ip+端口号的方式在浏览器中访问
-
如果是虚拟机首先查看虚拟机ip
然后再浏览器中用虚拟机ip + 端口号的方式也可访问
异常处理
出现这种问题可以通过重设网卡解决
#停止docker
systemctl stop docker
#docker0
ip link set dev docker0 down
#安装brctl工具
yum install -y bridge-utils
#删除docker0网桥
brctl delbr docker0
#增加docker0 网桥
brctl addbr docker0
#增加网卡
ip addr add 172.16.10.1/24 dev docker0
#启用网卡
ip link set dev docker0 up
#重启docker服务
systemctl restart docker
#重启docker容器
docker start [容器名]
#进入容器
docker attach [容器名]
#开启nginx
nginx
#退出容器
ctrl+P ctrl+Q
注意事项
每次将docker关闭后,下一次开启所映射的端口号会发生改变
如果用exit退出了docker可以使用
docker start [容器名] 启动容器
docker attach [容器名] 进入容器
关闭容器服务
systemctl stop docker
启动容器服务
systemctl start docker
在docker中立即停止nginx
nginx -s stop
在docker中从容停止nginx (等进程结束后)
nginx -s quit