docker 快速部署 Nginx

71 阅读2分钟

docker部署Nginx服务

前提

虚拟机上已经安装好docker

步骤

安装nginx镜像:

docker search nginx // 搜索nginx镜像

image.png

docker pull nginx:latest // 拉取镜像,:latest表示拉取最新版本nginx镜像

安装完成后输出:

image.png

docker images // 查看本地镜像确认安装nginx

image.png

运行nginx容器

// --name nginx01 给容器命名
// -p:3344:80 指定端口 -p: 宿主机端口:容器端口
// -d 后台运行进程(一定要加,不然当前命令窗口会一直处于nginx运行状态,无法进行其他操作
docker run --name nginx01 -p:3344:80 -d nginx

查看运行中的容器进程

docker ps

运行之后访问虚拟机 ip + 端口:

出现以下页面即为运行成功

image.png

修改nginx配置:

修改配置有两种方法

1、进入容器中的配置文件进行修改

docker exec -it nginx01 /bin/bash // 进入nginx01容器(交互模式

image.png

vim /etc/nginx/nginx.conf // 进入nginx配置文件编辑(nginx容器默认配置文件路径为/etc/nginx/nginx.conf

如果出现这种情况,需要先安装vim

image.png

安装vim:

apt-get update
apt-get install vim

输入y之后等待下载完成即可 image.png

再次输入前面的进入配置文件编辑命令

出现该输出即为成功,然后修改配置即可 image.png

退出容器:

exit

2、 使用docker对容器中的配置文件进行同步挂载(数据卷技术,经常使用 在运行容器的时候将命令改成:

// -v myNginx:/etc/nginx 挂载命令 本地目录(myNginx文件夹):容器目录(容器中的nginx文件夹)
docker run -d -p:3344:80 --name nginx01 -v myNginx:/etc/nginx nginx // 具名挂载(经常使用)

修改myNginx中的配置文件即可同步到容器中

数据卷相关:

docker run -d -p:3344:80 --name nginx01 -v /etc/nginx nginx # 匿名挂载 
docker run -d -p:3344:80 --name nginx01 -v myNginx:/etc/nginx nginx # 具名挂载(经常使用) 
docker run -it -v /home/xx:/home/xxx # 指定路径挂载 

docker volume ls # 查看卷 
docker volume inspect 具名卷名 # 查看详细信息(mountPoint:挂载地址

匿名挂载就是在指定数据卷的时候,不指定容器路径对应的主机路径,这样对应映射的主机路径就是默认的路径/var/lib/docker/volumes/中自动生成一个随机命名的文件夹。

查看卷(docker volume ls)对应的卷名(name)就是文件夹名

修改完配置之后需要重起nginx容器,不然配置不会生效

docker restart nginx