From c7f490218e64e2a5ab0e5d01ddc9c71448f95d22 Mon Sep 17 00:00:00 2001 From: wangyu Date: Mon, 5 Oct 2020 21:26:37 +0800 Subject: [PATCH] assignment2 task 3 finished --- Assignment2.md | 42 ++++++++++++++++++++++++++++++++++++++++- img/.DS_Store | Bin 0 -> 6148 bytes img/assignment2/static-web.png | Bin 0 -> 52519 bytes 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 img/.DS_Store create mode 100644 img/assignment2/static-web.png 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 0000000000000000000000000000000000000000..d4ad99ed29c8b9b68e2ed79fac57e72295a295a1 GIT binary patch literal 6148 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 literal 0 HcmV?d00001