diff --git a/Assignment2.md b/Assignment2.md index b17493c..6a2ac6f 100644 --- a/Assignment2.md +++ b/Assignment2.md @@ -211,7 +211,7 @@ $ docker run --rm prakhar1989/static-site Nginx is running... ``` -> `--rm` 参数为删除已有的container若已经存在 +> `--rm` 参数的作用是当container运行结束时系统自动删除该container #### 如果顺利的话,你的终端会出现`nginx is running...`,但是目前容器对我们来说是一个完全封闭的环境,我们并没有办法去访问`container`的端口 @@ -219,3 +219,43 @@ Nginx is running... 到此为止,我们已经部署了一个静态的`nginx container`但是并没有办法去访问,`docker`提供了许多接口去解决这个问题,我们可以通过添加参数的方式将`container`的端口或者文件夹映射到本地 +#### docker提供了如下一些参数 + +| -d | 将container置于后台运行 | +| :---------------------------: | :---------------------------------------------------: | +| -p local_port:container_port | 将container 的某个端口映射到本地 | +| -P | 将container所有正在监听的端口全部映射到本地的随机端口 | +| -v local_path:contatiner_path | 将container的某个文件路径映射到本地 | + +#### `static-site`默认监听的`80`和`443`端口,我们使用上述参数尝试将它映射到本机 + +```bash +$ docker run -d -P --name static-site prakhar1989/static-site + +e61d12292d69556eabe2a44c16cbd54486b2527e2ce4f95438e504afb7b02810 +``` + +#### 查看docker给我们映射的端口 + +``` +$ docker port static-site + +80/tcp -> 0.0.0.0:32769 +443/tcp -> 0.0.0.0:32768 +``` + +#### 可以看到`docker`将`container`的`80`和`443`分别映射到了本机的`32769`和`32768`两个端口上 + +####.打开浏览器,访问`http://localhost:32769`,得到如下页面: + +![static-web](img/assignment2/static-web.png) + +`**************作业3:尝试使用-v、--rm和-p等参数,创建static-site容器,并以自己的学号命名,将container的/usr/share/nginx/html文件夹映射到当前目录的html文件夹,并修改index.html文件,加入自己的姓名和学号,并将上述步骤和本地目录接口截图插入实验报告中***************` + +> Hint: +> +> 1.若提示continer正在运行中,可以使用`docker stop static-site && docker rm static-site`删除正在使用的容器并重新创建. +> +> 2. -v local_path请使用绝对路径 + +### \ No newline at end of file diff --git a/img/.DS_Store b/img/.DS_Store new file mode 100644 index 0000000..d4ad99e Binary files /dev/null and b/img/.DS_Store differ diff --git a/img/assignment2/static-web.png b/img/assignment2/static-web.png new file mode 100644 index 0000000..4ace906 Binary files /dev/null and b/img/assignment2/static-web.png differ