在平常的开发工作中,我们经常会用到 nginx,那么在 docker 中 如何安装 nginx呢?又有哪些需要注意的事项呢?简单来说,第一步:拉取 nginx 镜像;第二步:创建 挂载目录并设置 nginx.conf 文件;第三步:启动容器。第四步:测试 nginx。
1:拉取 nginx 镜像:docker pull nginx:版本号
拉取镜像,如果不指定版本号,那么默认拉取最新的镜像。如果拉取成功,可以通过 docker ps 命令查看:
注意:如果拉取镜像失败,可能是 docker 配置文件的问题。在 /etc/docker/ 目录下,修改 daemon.json 文件中的配置的镜像加速器。镜像加速器网上搜索很多,尝试修改配置,修改完后一定要重启docker服务,不然不生效。重启docker命令:systemctl restart docker
2:创建挂载目录,设置 nginx.conf 配置文件
1)创建挂载目录:
mkdir -p /docker/nginx/conf
mkdir -p /docker/nginx/html
2)配置 nginx.conf 文件:
在 /docker/nginx/conf 目录下 新建 nginx.conf 文件,设置文件内容如下:
user nginx;
worker_processes auto;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log main;
sendfile on;
keepalive_timeout 60;
server {
listen 80;
server_name localhost;
charset utf-8;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
}
3:启动 nginx:docker compose up -d nginx
version: '3'
services:
nginx:
image: nginx:latest
container_name: nginx-web
environment:
TZ: Asia/Shanghai
ports:
- "80:80"
- "443:443"
volumes:
# 配置文件映射
- /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /docker/nginx/conf:/etc/nginx/conf
# 页面目录
- /docker/nginx/html:/usr/share/nginx/html
privileged: true
network_mode: "host"
进入 docker-compose.yml 文件所在的目录,使用命令 docker compose up -d nginx 启动,启动完成后,可通过 docker ps 查看 正在运行的docker容器,docker ps -a 查看所有的 docker 容器,包括已停止的,如果 docker ps 查看,没有运行中的 nginx 容器,那么可以通过 docker logs 容器id 或者 docker logs 容器名称,查看对应的 nginx日志。docker ps:
注意:如果修改了 nginx.conf 配置文件,先停止 nginx 容器,再删除 nginx 容器,重新启动,这样防止可能缓存造成的问题,导致配置修改不生效。命令如下:
a:停止 nginx 容器:docker stop nginx 容器id / 容器名称
b:删除 nginx 容器:docker rm 容器id / 容器名称
c:启动 nginx 容器:docker compose up -d nginx
4:测试 nginx
通过浏览器访问 http://ip地址:80,查看是否安装成功,页面如下:
以上为 docker 下安装 nginx 的主要步骤,一定要 注意 nginx.conf 配置文件的挂载目录。我们只有不断地学习,才能遇见更好的自己。加油!美好的风景一直在路上!