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

原因暂时未知。

相关推荐