docker安装nginx
创建挂载目录
我们这里需要挂载可手动修改配置文件的nginx,而不是全部封装在docker容器中运行的。
mkdir -p /opt/nginx/{conf,conf.d,html,logs}
安装完成之后进行测试:
sudo docker run --name nginx-test -p 8081:80 -d nginx
‘
随便创建一个 Nginx 容器,并拷贝 Nginx 的默认配置:
创建容器:
1 2 3 4 5 6 7 8 9 10 11 12 13 | $ docker run -d --name nginx nginx 从容器中拷贝配置文件至本地: # 查看 ==> 获取容器ID $ docker container ls # 在当前目录下创建目录:conf $ mkdir conf # 拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录 $ docker cp a89b2c5f3dd1: /etc/nginx/nginx .conf $PWD /conf 删除容器: # 停止容器 $ docker container stop a89b2c5f3dd1 # 删除容器 $ docker container rm a89b2c5f3dd1 |
’
查看docker 镜像进程
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f77f78d2228d nginx "nginx -g ‘daemon of…" 12 seconds ago Up 11 seconds 0.0.0.0:8081->80/tcp nginx-test
————————————————
拷贝容器内 Nginx 默认配置文件到本地当前目录下的 conf 目录,容器 ID 可以查看 docker ps 命令输入中的第一列:
sudo docker cp f77f78d2228d:/etc/nginx/nginx.conf ~/nginx/conf
docker cp 也可以是容器名。
docker run --name mynginx -p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/conf.d:/etc/nginx/conf.d \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
-d nginx
https://www.runoob.com/docker/docker-install-nginx.html
有个问题:
运行容器
安装完成后,我们可以使用以下命令来运行 nginx 容器:
$ docker run --name mynginx -p 8080:80 -d nginx我用上面的运行容器,访问80就ok。用配置命令始终连不上80端口。为什么?用下面的命令可以:
docker run --name mynginx -p 8888:80 \
-v $PWD/html:/usr/share/nginx/html \
-d nginx
原因暂时未知。