docker安装nginx

首先要获取镜像

docker pull nginx

获取完镜像之后就可以直接通过docker run来获取容器了,不过如果想要对nginx的配置进行修改的话就需要通过docker exec进入nginx容器内部进行修改,很不方便,所以可以给nginx挂载个数据卷(可以在外部同步数据)

nginx一般需要挂载的数据卷就是nginx.conf、html目录、conf.d(看需要,还可以挂载一个log目录)

挂载数据卷的内容一般可以从网上直接复制出来(或者本身就有对应的文件),当然也可以使用nginx默认的文件(这里就是使用的nginx自带文件)

如果不需要对数据卷进行修改仅仅只是下载nginx的话,可以执行以下命令

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

此时就可以打开浏览器看看效果了(虚拟机内部可以直接用localhost访问,外部需要输入虚拟机IP,并且打开防火墙的80端口) 

复制数据卷

可以先docker run一个nginx出来,把nginx的文件直接拷贝出来一份(外部空文件的情况下直接挂载数据卷,可能会导致nginx对应的数据卷文件也变成空)

如果已经有了对应文件的话,这一步可以直接跳过,不过需要记住文件的路径,方便挂载数据卷

先要创建几个文件夹(空文件夹就行)

mkdir nginx

cd nginx 

mkdir html

mkdir conf

mkdir log

此时可以创建一个nginx容器并复制容器中的文件(我这里是直接使用的相对路径,看自己的习惯,可以使用pwd看看自己在哪个目录上,然后使用绝对路径)

docker run -d --name nginx nginx
# 我的nginx文件夹在当前目录下
docker cp nginx:/etc/nginx/nginx.conf nginx/conf/nginx.conf

docker cp nginx:/etc/nginx/conf.d nginx/conf/conf.d

docker cp nginx:/usr/share/nginx/html/ nginx/

# 也可以通过exec进入nginx看看有没有需要挂载的数据卷
# docker exec -it nginx bash

docker run -d #创建一个容器并运行

--name:#给镜像命名,不命名的话可以创建完镜像后执行docker ps看看nginx的ID号是多少

docker cp 容器名(容器ID):内部文件(目录)路径(docker) 外部文件(目录)路径(liunx)   #拷贝文件或目录

拷贝完文件后就可以删除容器了(需要先停止nginx容器才能删除)

docker stop nginx

docker rm nginx

创建nginx容器

docker run -d -p 80:80 --name nginx \
-v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /root/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /root/nginx/html:/usr/share/nginx/html \
-v /root/nginx/log:/var/log/nginx \
nginx

-p 外部端口:内部端口   #  做端口映射

-v liunx文件:docker文件  #  数据卷挂载,如果想用相对路径就以./开头,绝对路径用/开头

此时应该就创建并运行了nginx容器

可以在浏览器上输入虚拟机的IP地址(虚拟机内部可以直接用localhost打开,外部需要用虚拟机的IP地址,80端口和index.html默认可以省略),也可以打开nginx/html/index.html文件对页面进行修改(修改页面不需要重启nginx,修改配置的话需要docker restart nginx重启一下容器)

如果页面加载不出来的可以先用docker ps看看nginx运行了吗,容器运行成功的话但是页面加载不出来的,可能是虚拟机防火墙把端口拦截了,可以打开防火墙的80端口,或直接关闭防火墙试试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值