docker安装nginx,docker启动nginx,docker指定nginx挂载目录。拉取安装指定版本镜像 电脑版发表于:2020/9/30 17:58 tn4# 拉取nginx镜像 **拉取最新版本镜像** ``` docker pull nginx ``` **拉取指定版本** ``` docker pull nginx:1.22 ``` 要找一个镜像有哪些版本去https://hub.docker.com/r/library/ 地址搜索即可 <br> tn4# 启动nginx **不接版本** ``` docker run -d --name mynginx -p 8000:80 nginx ``` **接latest版本,通常和不接版本一样** ``` docker run -d --name mynginx -p 8000:80 nginx:latest ``` **接指定版本** ``` docker run -d --name mynginx -p 8000:80 nginx:1.22 ``` **指定一个挂载目录** 创建挂载目录很简单,这样即可 ``` docker volume create my-nginx-volume ``` 挂载名称对应的目录可以使用这个命令查看 ``` docker volume inspect my-nginx-volume ``` ![](https://img.tnblog.net/arcimg/aojiancc2/601df5f36f324196ad34d03b3a523294.png) 启动容器的时候指定一下刚刚我们创建的volume ``` docker run -d \ --name=nginxtest \ -p 9000:80 \ -v my-nginx-volume:/usr/share/nginx/html \ nginx:latest ``` -v或者mount都可以,如下是使用的mount ``` docker run -d \ --name=nginxtest \ --mount source=my-nginx-volume,destination=/usr/share/nginx/html \ nginx:latest ``` tn2>source 指定 volume,destination 指定容器内的文件或文件夹。 挂载成功后,容器从 /usr/share/nginx/html 目录下读取或写入数据,实际上都是从宿主机的 my-nginx-volume 数据卷中读取或写入数据。因此 Volumes 或 Bind mounts 也可以看作是容器和宿主机共享文件的一种方式。 tn3>挂载成功后,比如我们要修改nginx起始页的一点内容,我们不需要进入nginx容器内部,直接修改挂载目录里边的内容即可。 **指定挂载目录也可以不用先创建一个volume直接指定一个文件夹就行** 注意linux的目录表示方法,斜杠和~表示根目录和root目录不要搞混了,不然路径错了会有问题 ``` docker run -d \ --name=mynginx \ -p 8002:80 \ -v ~/fb/wy_jbland_vue:/usr/share/nginx/html \ nginx ``` 这样挂载出来的目录如果没有权限可以执行以下 ``` chmod -R 777 ~/fb/wy_jbland_vue ``` **指定一个自定义网络** ``` docker run -itd --name nginx-net-01 --net mynet -p 9100:80 nginx ``` tn2>--net指定一个自定义网络,不同容器在同一个子当以网络可以相互通信。 使用如下命令创建的自定义网络 ``` docker network create --driver bridge --subnet 172.22.0.0/16 --gateway 172.22.0.1 mynet ```