脉金捷脉金捷
主页
  • VuePress
  • VuePress2
  • Markdown基础命令
  • Java特性
  • Java修饰符
  • Java常见问题
  • Java LocalDate
  • Java Cloud ID
  • Docker-CentOS8
  • Docker-Nginx
  • Docker-Redis
  • Docker-MySQL
  • Docker-Nacos
  • Docker-Seata
  • Docker-Nodejs
  • Docker-runlike
  • Docker基础命令
  • Linux基础软件
  • Linux-SSH登录
  • Linux防火墙-iptables
  • Linux系统目录
主页
  • VuePress
  • VuePress2
  • Markdown基础命令
  • Java特性
  • Java修饰符
  • Java常见问题
  • Java LocalDate
  • Java Cloud ID
  • Docker-CentOS8
  • Docker-Nginx
  • Docker-Redis
  • Docker-MySQL
  • Docker-Nacos
  • Docker-Seata
  • Docker-Nodejs
  • Docker-runlike
  • Docker基础命令
  • Linux基础软件
  • Linux-SSH登录
  • Linux防火墙-iptables
  • Linux系统目录
  • Docker-CentOS8
  • Docker-Nginx
  • Docker-Redis
  • Docker-MySQL
  • Docker-Nacos
  • Docker-Seata
  • Docker-Nodejs
  • Docker-runlike
  • Docker基础命令

Docker 安装 Nginx

Docker 官网:https://docs.docker.com/

Docker Hub 镜像仓库:https://hub.docker.com/

拉取 nginx:latest 镜像

docker pull nginx

为 nginx 添加挂载卷

一会准备把 nginx.conf 配置文件、 conf.d 目录、html 默认静态文件、以及 nginx 日志目录 挂载到宿主机。挂载数据卷的时候并不会创建原本的配置文件,因此我准备先运行 nginx 容器,然后把这些配置文件拷贝一份到宿主机挂载目录。

创建 nginx 容器挂载目录

创建准备让 nginx 容器挂载的 conf 和 log 目录。

mkdir -p /usr/local/workspace/nginx/{conf,log}

运行 nginx 容器

docker run -d --name nginx nginx

拷贝 nginx 相关配置到宿主机

# 拷贝 nginx.conf 到宿主机
docker cp nginx:/etc/nginx/nginx.conf /usr/local/workspace/nginx/conf
# 拷贝 conf.d 目录到宿主机
docker cp nginx:/etc/nginx/conf.d /usr/local/workspace/nginx/conf
# 拷贝 默认html静态文件 目录到宿主机
docker cp nginx:/usr/share/nginx/html /usr/local/workspace/nginx

上面所列出来的相关路径,我是通过 docker exec 进入容器里面去查看对应配置文件所了解。我目前 nginx:latest 版本对应的是 nginx/1.21.6 。

删除 nginx 容器

docker rm -f nginx

添加挂载卷并运行 nginx 容器

docker run \
--name nginx \
-d -p 80:80 \
-v /usr/local/workspace/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/workspace/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /usr/local/workspace/nginx/log:/var/log/nginx \
-v /usr/local/workspace/nginx/html:/usr/share/nginx/html \
nginx

今后要修改 nginx 容器配置就直接修改宿主机下的配置文件就可以了。

进入 nginx 容器执行命令

docker exec -it nginx /bin/bash
# 查看 nginx 版本信息
nginx -v

设置 nginx 容器自启动

docker update --restart=always nginx

nginx 容器访问宿主机端口

在配置反向代理的时候,需要访问宿主机的端口,可通过docker的宿主机虚拟IP进行访问。

ifconfig

docker0 的 ip 就是宿主机的虚拟ip。一般宿主机IP地址是:172.17.0.1,反向代理设置的时候,可通过宿主机ip代替 127.0.0.1 。

Last Updated: 1/14/24, 2:25 PM
Contributors: maijinjie, GhostarX, jieshu