虽然休假在家,但是也不能停止学习的脚步。早就被服务器的部署工作烦的头疼,也早就知道了Docker的存在,不过一直没有时间使用,趁着休假赶紧给自己补上一课,记录Docker部署Nginx的过程和坑。
本次是在虚拟机安装的CentOS上进行的部署,首先安装Docker
yum -y install docker
安装完毕后启动docker
systemctl start docker
添加开机启动项
systemctl enable docker
到这里,docker的安装就算是完成了,并且会随系统重启开机启动。接下来部署nginx。首先,拉取nginx镜像
docker pull nginx
拉取完成以后,启动nginx
docker run -p 80:80 --name felix-nginx -d nginx
这里
-p
为docker映射端口,--name
为容器命名,-d
为后台运行
启动之后先查看是否正常运行
docker ps
下图表示正在运行

接下来访问网页进行测试,这里我做了DNS反向代理,所以直接通过域名就可以访问到我的nginx

nginx启动并运行正常。
但是有个问题,如果要配置nginx怎么办,难不成每次从容器里面copy一份配置文件,修改以后再copy进去?可以是可以,但是太麻烦,我们可以直接映射本地的文件夹到容器内部。首先在CentOS根目录里面创建1个nginx文件夹
mkdir nginx
然后进入nginx文件夹并创建三个额外的文件夹
cd nginx
mkdir conf
mkdir html
mkdir log
好了,切回根目录,拷贝nginx的配置文件到我们自建的文件夹内
cd / #切换到根目录
docker cp c85:/etc/nginx/nginx.conf /nginx/conf
docker cp c85:/etc/nginx/conf.d /nginx/conf/conf.d
配置文件已经就位,现在进入html目录创建一个自定义的页面出来
cd /nginx/html
vi index.html
在index.html里面输入以下内容
<h1>felix nginx working,wait for load balance</h1>
保存退出,现在我们来启动一个新的容器,并且映射我们创建的文件到容器中
docker run -p 80:80 --name felix-nginx \
-v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /nginx/conf/conf.d:/etc/nginx/conf.d \
-v /nginx/html:/usr/share/nginx/html \
-v /nginx/log:/var/nginx/log \
-d nginx
OK,此时,查看正在运行的容器
docker ps

很好,已经正常运行了,现在访问nginx服务器,会惊喜的发现
403 Forbidden
Fuck,什么情况,什么都搞好了,你跟我说Forbidden
,原因是
CentOS7中的安全模块selinux把权限禁掉了,主要是挂载的目录没有权限的问题
临时关闭selinux
setenforce 0
现在访问nginx服务器,就发现一切恢复正常了

当然,你可以考虑彻底关闭selinux
,这里我就不说操作方法了。现在我们已经成功使用docker部署了nginx,但是各种操作还是很麻烦,有没有再简单一些的方法?有!加关注,很快更新!
以上内容转载请注明出处,同时也请大家不吝你的关注和下面的赞赏
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
网友评论