Docker上启动Nginx,并配置修改Nginx的配置文件

1.使用docker下载nginx镜像

docker pull nginx:1.22.0 (我这里选择安装1.22.0版本,目前最新版本是1.23.0)

2.启动nginx

docker run --name nginx -p 80:80 -d nginx:1.22.0

这样就简单的把nginx启动了,但是我们想要改变配置文件nginx.conf,进入容器,命令:

docker exec -it nginx bash

nginx.conf配置文件在 /etc/nginx/下面,但是你使用vim nginx.conf或者vi nginx.conf

会发现vi或者vim命令没有用,解决办法:

apt-get update

完成之后

apt-get install vim

此时你就可以自己定制nginx.conf文件了,改好配置文件之后重启容器

步骤: 先把容器停了

docker stop nginx  

然后重启

docker start nginx

这样不是很方便,还有第二种方式,挂载配置文件,就是把装有docker宿主机上面的nginx.conf配置文件映射到启动的nginx容器里面,新建一些目录

mkdir -p /usr/local/nginx/{conf,html,logs,ssl}

下一步是启动nginx, 命令:

docker run \
--name nginx -p 80:80 \
-v /usr/local/nginx/logs:/var/log/nginx \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/conf.d:/etc/nginx/conf.d \
-v /usr/local/nginx/ssl:/etc/nginx/ssl/ \
--privileged=true -d --restart=always nginx:1.22.0

解释下上面的命令:

--name  给你启动的容器起个名字,以后可以使用这个名字启动或者停止容器

-p 映射端口,将docker宿主机的80端口和容器的80端口进行绑定

-v 挂载文件用的,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录; 表示将你本地的nginx.conf覆盖你要起启动的容器的nginx.conf文件,第二个表示将日志文件进行挂载,就是把nginx服务器的日志写到你docker宿主机的/var/log/nginx下面,后面-v表示的和第一个-v意思一样的。

-d 后台运行

--restart=always:重启docker时,自动重启该容器;

我个人更喜欢第二种映射的方式,直接从容器里面复制的,然后根据自己的需要改就行,这样就不用进容器里面改了(完)

ps: 如果有任何疑问,欢迎评论区给我留言


已有 0 条评论

    感谢参与互动!