获取镜像

同构dockerhub获取nginx的镜像

$ docker pull nginx

等待镜像拉取完毕之后运行镜像

$docker run -d -p 80:80 --rm --name nginx nginx
  • -d:后台运行
  • -p:指定端口
  • –rm:停止后删除
  • –name:镜像名称

打开浏览器访问localhost,看见这些内容代表启动成功

image-20210709165633290

添加资源和配置

由于考虑到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

image-20210709170834659

然后验证一下是否绑定成功,将index.html内容修改一下

<h1>
  Hello Nginx in Docker
</h1>

image-20210709171030948

完事,如果需要配置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

前端小白