docker安装Nginx

1. 拉去Nginx最新镜像

1
docker pull nginx

拉取Nginx镜像

2. 设置Nginx端口为8880,查看是否被占用

1
firewall-cmd --query-port=8880/tcp

未被占用

3. 开始设置端口

1
firewall-cmd --add-port=8880/tcp --permanent

添加端口

4. 重新载入防火墙

1
firewall-cmd --reload

5. 创建nginx容器

1
docker run -d --name nginx -p 8880:80 nginx

6. 创建挂在目录

1
2
3
4
5
6
7
8
9
10
mkdir -p /data/nginx/{conf,log,html}

# 将 nginx中的 nginx.conf 复制一份放入我们创建的目录中
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf

# 将 nginx中的 conf.d 复制一份放入我们创建的目录中
docker cp nginx:/etc/nginx/conf.d /data/nginx/conf/conf.d

# 将nginx中的html文件复制过来
docker cp nginx:/usr/share/nginx/html /data/nginx

copy成功

7. 停止创建的nginx容器

1
2
3
4
5
6
7
docker ps  # 查询出nginxID

docker stop nginxID

docker ps -a # 查询全部

docker rm nginxID

关闭成功

8. 重新创建一个新的容器

1
2
3
4
5
6
docker run -d --name nginx -p 8880:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /data/nginx/log:/var/log/nginx \
-v /data/nginx/html:/usr/share/nginx/html \
--privileged=true nginx

docker 运行nginx失败

失败图

解决办法:

  1. 重启docker
    1
    systemctl restart docker
  2. 删除旧容器 重新启动刚刚的容器
    1
    2
    3
    docker rm -f nginx

    docker run -d --name nginx -p 8880:80 nginx

启动成功

nginx启动成功