docker部署Nginx服务
前提
虚拟机上已经安装好docker
步骤
安装nginx镜像:
docker search nginx // 搜索nginx镜像
docker pull nginx:latest // 拉取镜像,:latest表示拉取最新版本nginx镜像
安装完成后输出:
docker images // 查看本地镜像确认安装nginx
运行nginx容器
// --name nginx01 给容器命名
// -p:3344:80 指定端口 -p: 宿主机端口:容器端口
// -d 后台运行进程(一定要加,不然当前命令窗口会一直处于nginx运行状态,无法进行其他操作
docker run --name nginx01 -p:3344:80 -d nginx
查看运行中的容器进程
docker ps
运行之后访问虚拟机 ip + 端口:
出现以下页面即为运行成功
修改nginx配置:
修改配置有两种方法
1、进入容器中的配置文件进行修改
docker exec -it nginx01 /bin/bash // 进入nginx01容器(交互模式
vim /etc/nginx/nginx.conf // 进入nginx配置文件编辑(nginx容器默认配置文件路径为/etc/nginx/nginx.conf
如果出现这种情况,需要先安装vim
安装vim:
apt-get update
apt-get install vim
输入y之后等待下载完成即可
再次输入前面的进入配置文件编辑命令
出现该输出即为成功,然后修改配置即可
退出容器:
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