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: 如果有任何疑问,欢迎评论区给我留言
注意:本文归作者所有,未经作者允许,不得转载