Docker 部署 Nginx

Nginx   2025-01-12 15:19   339   0  

一、启动容器

docker run -d --name nginx -p 8080:80 nginx:1.23.1

image.png
Docker 官方镜像 nginx 目录说明 

1、相关的 nginx 配置文件都在 /etc/nginx 目录下
2、nginx 容器内的默认首页 html 文件目录为 /usr/share/nginx/html
3、日志文件位于 /var/log/nginx 

进入容器内部,获取容器内部用户 id

docker exec -it nginx /bin/bash
cat /etc/group | grep nginx
cat /etc/passwd |grep nginx

从这里我们可以知道 nginx 容器内的 nginx 用户 id 为 101
image.png

二、将容器内的文件都复制出来,做持久化

mkdir -p /data/nginx/{html,logs,nginx}
mkdir -p /data/nginx/nginx/conf.d
touch /data/nginx/logs/access.log
touch /data/nginx/logs/error.log
docker cp nginx:/etc/nginx/conf.d /data/nginx/nginx
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/nginx/nginx.conf
docker cp nginx:/usr/share/nginx/html /data/nginx
docker stop nginx 
docker rm nginx

image.png

ls -l /data/nginx/nginx
ls -l /data/nginx/html
ls -l /data/nginx/logs

image.png

三、目录授权

cat /data/nginx/nginx/nginx.conf

可以看到配置文件中默认是以 nginx 用户启动的
image.png
给 nginx 目录授权

ls -l /data/nginx/
chown -R 101:101 /data/nginx
chmod -R 755 /data/nginx/
ls -l /data/nginx/

image.png

四、重新创建容器

docker run --name nginx -m 200m -p 8080:80 \
-v /data/nginx/nginx/conf.d:/etc/nginx/conf.d \
-v /data/nginx/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/logs:/var/log/nginx \
-v /data/nginx/html:/usr/share/nginx/html \
-e TZ="Asia/Shanghai" \
-d nginx:1.23.1

参数说明
-name     给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器
-p       映射端口,将docker宿主机的80端口和容器的80端口进行绑定
-v    挂载文件用的,
-m 200m 分配内存空间
-e TZ=Asia/Shanghai  设置时区

docker ps -a
docker logs -f nginx

image.png

netstat -tulnp|grep 8080
curl -v http://192.168.100.115:8080

image.png


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。