获取镜像
同构dockerhub获取nginx的镜像
$ docker pull nginx
等待镜像拉取完毕之后运行镜像
$docker run -d -p 80:80 --rm --name nginx nginx
- -d:后台运行
- -p:指定端口
- –rm:停止后删除
- –name:镜像名称
打开浏览器访问localhost,看见这些内容代表启动成功
添加资源和配置
由于考虑到nginx配置需要不断的变更,每次都要进入镜像修改配置太过麻烦,所以我们把资源目录和配置目录都映射到本地环境下,在本地目录下创建一个目录用来存放nginx资源和配置。
首先从镜像中复制一份配置文件到本地(确保当前在要保存配置的目录下),不要忽略命令最后的.
$ docker cp nginx:/etc/nginx .
检查下当前目录,应该会有一个nginx目录,将其重命名为conf(mv nginx conf)
然后停止容器,由于使用了–rm命令,所以只个容器不会保留
在当前目录下新建一个html目录,并在里面放置一个index.html文件,内容随便写,我们暂且加一个Hello World
<h1>
Hello World!!!
</h1>
现在我们已经有了资源和配置
配置映射目录
现在将刚才的资源和配置映射到镜像容器中,注意不要再添加–rm命令
$ docker run -d -p 80:80 --name nginx --volume "$PWD/html":/usr/share/nginx/html --volume "$PWD/conf":/etc/nginx nginx
然后访问localhost
然后验证一下是否绑定成功,将index.html内容修改一下
<h1>
Hello Nginx in Docker
</h1>
完事,如果需要配置https的话最后一次启动容器的哪里额外添加一个443端口
$ docker run -d -p 80:80 -p 443:443 --name nginx --volume "$PWD/html":/usr/share/nginx/html --volume "$PWD/conf":/etc/nginx nginx