创建用于放 nginx 配置文件的目录

# 顺带创建一个存放证书的目录
mkdir -p /usr/local/nginx/ssl

拷贝出默认配置文件

  1. 简单运行一个 nginx 容器,拷贝配置文件
docker run -d  --name nginx nginx
docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/nginx.conf
docker cp nginx:/etc/nginx/conf.d /usr/local/nginx/conf.d
  1. 销毁 nginx 容器
docker rm -f nginx

运行 nginx 容器

docker run -d -p 80:80 -p 443:443 --name nginx \
-v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/ssl/:/etc/nginx/ssl nginx

防火墙放行 80 443 端口

这里以 firewall 防火墙为例

firewall-cmd --permanent --zone=public --add-port=80/tcp 
firewall-cmd --permanent --zone=public --add-port=443/tcp 
# 重新加载防护墙配置
firewall-cmd --reload

测试

访问主机的ip,查看是否有 nginx 的欢迎页面

使用 Docker Compose

/usr/local/nginx 目录下创建 docker-compose.yml

version: '3'
services:
  nginx:
    restart: always
    image: nginx
    container_name: nginx
    ports:
      - 80:80
      - 443:443
    volumes:
      - $PWD/nginx.conf:/etc/nginx/nginx.conf
      - $PWD/conf.d:/etc/nginx/conf.d
      - $PWD/ssl/:/etc/nginx/ssl

启动:docker-compose up -d

写的不好,仅供参考