Liuqichun's Blog

简明 Docker 安装 Nginx

简明 Docker 安装 Nginx 教程。

一、下载 nginx 镜像

1docker pull nginx

image.png

二、安装

1docker run -d --name  nginx --net host -v /root/project:/var/www/html -v /root/nginx:/root/nginx  nginx:1.19.5

到此 Nginx 安装完毕,剩下的需要进入容器配置。

参数说明:此处的 -d 表示后台运行,-v 指定宿主机与容器映射的卷(volume),将 /root/nginx 链接到容器的 /root/nginx,第二个同上。最后的 nginx 是启动容器的镜像。下方有更多 docker run 命令参数。

注意:一般不把 /root/nginx(宿主机的 Nginx 配置文件放置处)直接映射到 /etc/nginx,这样会导致初始化容器映射卷时将 /etc/nginx 清空,容器里的 Nginx 程序便无法启动,因为丢失了配置文件。上方命令是把 /root/nginx 挂载到了容器的 /root/nginx,从而避免了误删除 Nginx 配置。因此还需要解决本地 Nginx 配置文件与容器 Nginx 配置文件映射的问题,请看下步。

解决宿主机 nginx 配置文件与容器 nginx 配置文件映射问题

image.png

三、进入 nginx 容器配置 nginx

解决的方式如上图.

宿主机与容器的 /root/nginx 已经通过卷映射,二者的内容已经共享。下面是对容器的修改。

  1. 进入 Nginx 容器
  2. 先将 /etc/nginx 中的所有文件移动到 /root/nginx
  3. 再使用软链接,链接到 /etc/nginx 这样容器 Nginx 配置文件就与宿主机 Nginx 配置文件共享了

操作命令如下:

1# 进入容器
2docker exec -it nginx /bin/bash
3# 这里可以先备份nginx配置文件,然后在进行移动、删除操作
4mv -r /etc/nginx/* /root/nginx
5rm  /etc/nginx
6# 创建软链接
7ln -s /root/nginx /etc/nginx

其他

启动 Nginx,这些都是在 Nginx 容器中的操作。

1systemctl start nginx
2# 或者
3nginx

把 Nginx 设置为系统服务(容器启动后 Nginx 自启)

1systemctl enable nginx

禁止 Nginx 系统服务随系统自启

1systemctl disable nginx

Nginx 常用参数

1# 测试nginx配置文件是否存在语法错误, 修改配置文件后一般都执行此命令做检查
2nginx -t
3
4# 停止,重读配置文件
5nginx -s stop
6nginx -s reload


docker run 常用参数:

<< Previous Post

|

Next Post >>

#教程 #Linux #Nginx #Docker