- 先从服务器拉取镜像
docker pull nginx
- 新建本地nginx相关配置存放空间
mkdir -p /data/nginx/{conf,html,logs}
- 创建用于拷贝配置的临时ngxin容器
docker run --name nginx-test -p 80:80 -d nginx
- 拷贝配置
docker cp nginx-test:/etc/nginx/conf.d /data/nginx/conf/
docker cp nginx-test:/etc/nginx/nginx.conf /data/nginx/
docker cp nginx-test:/usr/share/nginx/html/ /data/nginx/
- 停止并删除临时nginx容器
docker stop nginx-test
docker rm nginx-test
- 创建nginx容器,并根据需要配置端口,挂载配置文件
docker run --name nginx -p 80:80 --net host -v /data/nginx/conf/conf.d:/etc/nginx/conf.d -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/html/:/usr/share/nginx/html/ -v /data/nginx/logs/:/var/log/nginx/ --privileged=true -d nginx
- 如服务器开启防火墙,则根据需要进行端口放行
(1) 查看防火墙运行状态:
firewall-cmd --state
(2) 查看防火墙详细状态
firewall-cmd --list-all
(3) 新增放行端口(永久),端口号根据实际情况确定
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=12800/tcp
(4) reload防火墙
firewall-cmd --reload
(5) 校验端口是否放行
firewall-cmd --query-port=80/tcp
firewall-cmd --query-port=12800/tcp
到这里就结束了。
其它:
开启或关闭防火墙
systemctl stop firewalld.service
systemctl start firewalld.service
关闭端口放行
firewall-cmd --permanent --remove-port=80/tcp
firewall-cmd --permanent --remove-port=12800/tcp
firewall-cmd --reload