Docker Docker 【Docker 学习五】Docker安装nginx挂载 鱼六秒 2024-04-03 2024-01-11
下载Nginx镜像
命令
描述
docker pull nginx
下载最新版Nginx镜像 (其实此命令就等同于 : docker pull nginx:latest )
docker pull nginx:xxx
下载指定版本的Nginx镜像 (xxx指具体版本号)
在/home/dockers/nginx目录下建立3个以下文件夹 1 mkdir -p /home/dockers/nginx/{log ,conf,html}
执行创建并运行nginx容器的命令 创建临时nginx 因为之前创建好了三个文件夹,但文件却没有创建一些,所以咱们需要创建临时nginx之后把所需的文件拷贝到本地即可
1 docker run -d --name nginx-test nginx
拷贝容器的挂载文件 conf目录
1 docker cp nginx-test:/etc/nginx/conf.d /home/dockers/nginx/conf
nginx.conf文件
1 docker cp nginx-test:/etc/nginx/nginx.conf /home/dockers/nginx/conf/nginx.conf
html/index.html 文件
1 docker cp nginx-test:/usr/share/nginx/html/index.html /home/dockers/nginx/html/index.html
删除临时nginx
创建挂载nginx 关于暴露端口方法,下面是一些需要配置的内容做参考
关于挂载目录方法,下面是一些需要配置的内容做参考
文件/文件夹
挂载路径
类型
/home/dockers/nginx/conf/conf.d
/etc/nginx/conf.d
rw
/home/dockers/nginx/conf/nginx.conf
/etc/nginx/nginx.conf
rw
/home/dockers/nginx/html/index.html
/usr/share/nginx/html/index.html
rw
/home/dockers/nginx/log
/var/log/nginx
rw
1 2 3 4 5 6 7 8 9 10 docker run -d -p 3344:80 --name nginx01 \ -v /home/dockers/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /home/dockers/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/dockers/nginx/html/index.html:/usr/share/nginx/html/index.html \ -v /home/dockers/nginx/log:/var/log/nginx \ nginx
查看nginx容器
测试访问网址 1 2 3 4 5 6 7 curl localhost:3344
进入nginx容器 1 2 docker exec -it nginx01 /bin/bash
查看nginx相关的目录路径 1 2 root@558ef7bb8d24:/ nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
端口暴露的概念
用服务器IP或者域名:3344 测试nginx
问题:如果访问不了网站,记得给防火墙设为开放,回来刷新网站
测试修改本地文件,和容器是否同步了 打开本地nginx的默认文件index.html,把Welcome to nginx!改成Hello World Nginx!
1 vi /home/dockers/nginx/html/index.html
注意:如果挂载文件,在宿主机上对文件修改不会同步到容器中 必须将nginx容器重启才能同步将修改的配置信息同步到容器中 或者使用docker --mount代替-v就可以实现实时更新
重新运行容器
可以看到Hello World Nginx!被修改了,说明同步成功了