国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

在Docker容器中部署靜態(tài)網(wǎng)頁的方法教程

2024-09-01 13:52:02
字體:
來源:轉載
供稿:網(wǎng)友

前言

一般我們在訪問容器時需要通過容器的端口來訪問,那如何設置容器的端口映射呢?

我們通過以下命令來設置:

docker run -p ip:hostPort:containerPort [--name] [-i] [-t] 鏡像名 [COMMAND][ARG...]
  • ip:表示宿主機ip
  • hostPort:宿主機端口號
  • containerPort:容器端口號

設置的方式有以下幾種:

containerPort,指定容器端口號,宿主機端口隨機生成

[root@localhost ~]# docker run -p 80 --name web_test -i -t 80864d42dd23  hub.c.163.com/library/ubuntu /bin/bash

hostPort:containerPort映射主機端口和容器端口

[root@localhost ~]# docker run -p 8080:80 --name web_test -i -t 80864d42dd23  hub.c.163.com/library/ubuntu /bin/bash

ip::containerPort設置主機的隨機端口到容器端口

[root@localhost ~]# docker run -p 0.0.0.0::80 --name web_test -i -t 80864d42dd23  hub.c.163.com/library/ubuntu /bin/bash

ip:hostPort:containerPort映射指定地址的指定端口到容器的指定端口

[root@localhost ~]# docker run -p 0.0.0.0:8080:80 --name web_test -i -t 80864d42dd23  hub.c.163.com/library/ubuntu /bin/bash

下面通過nginx在容器部署靜態(tài)網(wǎng)頁,通過以下步驟

      - 創(chuàng)建80映射端口的交互式容器

      - 安裝nginx

      - 安裝文本編輯器vim

      - 創(chuàng)建靜態(tài)網(wǎng)頁

      - 運行nginx

      - 驗證網(wǎng)頁

示例如下(如果安裝完ubuntu后不能安裝nginx進行apt-get update):

[root@localhost ~]# docker run -p 80 --name static_test -i -t hub.c.163.com/library/ubuntu /bin/bashroot@25fcbf6e953d:/# apt-get install -y nginxReading package lists... DoneBuilding dependency tree  Reading state information... DoneE: Unable to locate package nginxroot@25fcbf6e953d:/# apt-get update   Get:1 http://archive.ubuntu.com/ubuntu xenial InRelease [247 kB]Get:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]**中間日志省略。。。。。。。。。。**                   Fetched 24.9 MB in 9s (2717 kB/s)                                 Reading package lists... Doneroot@25fcbf6e953d:/# apt-get install -y nginxReading package lists... DoneBuilding dependency tree  Reading state information... Done**安裝日志省略。。。。。。。。。。**

然后安裝vim:

root@25fcbf6e953d:/# apt-get install -y vimReading package lists... DoneBuilding dependency tree  Reading state information... DoneThe following additional packages will be installed:**安裝日志省略。。。。。。。。。。**

然后建立存放靜態(tài)文件的目錄,并創(chuàng)建一個簡單的html文件:

root@25fcbf6e953d:/# mkdir -p /var/www/htmlroot@25fcbf6e953d:/# root@25fcbf6e953d:/# cd /var/www/html/root@25fcbf6e953d:/var/www/html# vim index.htmlroot@25fcbf6e953d:/var/www/html# ll total 8drwxr-xr-x. 2 root root 53 Mar 13 05:02 ./drwxr-xr-x. 3 root root 17 Mar 13 04:50 ../-rw-r--r--. 1 root root 79 Mar 13 05:02 index.html-rw-r--r--. 1 root root 612 Mar 13 04:51 index.nginx-debian.htmlroot@25fcbf6e953d:/var/www/html# cat index.html <html><body><h1>  this is the first docker static file</h1></body></html>root@25fcbf6e953d:/var/www/html# 

找到nginx的安裝目錄,更改default的root值為剛才創(chuàng)建的目錄:

root@25fcbf6e953d:/var/www/html# whereis nginxnginx: /usr/sbin/nginx /etc/nginx /usr/share/nginxroot@25fcbf6e953d:/var/www/html# cd /etc/nginx/sites-enabled/root@25fcbf6e953d:/etc/nginx/sites-enabled# lltotal 4drwxr-xr-x. 2 root root 20 Mar 13 04:51 ./drwxr-xr-x. 6 root root 4096 Mar 13 04:51 ../lrwxrwxrwx. 1 root root 34 Mar 13 04:51 default -> /etc/nginx/sites-available/defaultroot@25fcbf6e953d:/etc/nginx/sites-enabled# vim default 

dockerfile,靜態(tài)網(wǎng)頁,docker容器部署,docker容器

然后啟動nginx,查看容器進程:

root@25fcbf6e953d:/etc/nginx/sites-enabled# nginxroot@25fcbf6e953d:/etc/nginx/sites-enabled# ps -ef UID  PID PPID C STIME TTY   TIME CMDroot   1  0 0 04:48 ?  00:00:00 /bin/bashroot  827  1 0 05:06 ?  00:00:00 nginx: master process nginxwww-data 828 827 0 05:06 ?  00:00:00 nginx: worker processwww-data 829 827 0 05:06 ?  00:00:00 nginx: worker processwww-data 830 827 0 05:06 ?  00:00:00 nginx: worker processwww-data 831 827 0 05:06 ?  00:00:00 nginx: worker processwww-data 832 827 0 05:06 ?  00:00:00 nginx: worker processwww-data 833 827 0 05:06 ?  00:00:00 nginx: worker processwww-data 834 827 0 05:06 ?  00:00:00 nginx: worker processwww-data 835 827 0 05:06 ?  00:00:00 nginx: worker processroot  836  1 0 05:07 ?  00:00:00 ps -efroot@25fcbf6e953d:/etc/nginx/sites-enabled# 

然后按ctrl+p,ctrl+q退出交互式容器。

使用Docker ps查看容器的端口和運行情況,也可以通過dcoker port 鏡像名查看:

root@localhost ~]# docker psCONTAINER ID  IMAGE       COMMAND     CREATED    STATUS    PORTS     NAMES25fcbf6e953d  hub.c.163.com/library/ubuntu "/bin/bash"    18 minutes ago  Up 18 minutes  0.0.0.0:32772->80/tcp static_test[root@localhost ~]# docker port static_test80/tcp -> 0.0.0.0:32772[root@localhost ~]# 

可以看到容器的80端口映射到注解的32772端口。

通過curl訪問創(chuàng)建的index.html文件:

[root@localhost ~]# curl http://127.0.0.1:32772/index.html<html><body><h1>  this is the first docker static file</h1></body></html>[root@localhost ~]#

也可以通過docker inspect 容器名來查看容器的詳細信息和ip

通過容器ip進行訪問:

[root@localhost ~]# docker inspect static_test其他信息省略"IPAddress": "172.17.0.5",
[root@localhost ~]# curl http://172.17.0.5/index.html<html><body><h1>  this is the first docker static file</h1></body></html>[root@localhost ~]# 

當我們使用docker stop 容器名停止這個容器后,再使用docker start 容器名啟動容器后,里面的nginx并沒有啟動。那么我們使用docker exec 容器名 nginx來啟動:

[root@localhost ~]# docker stop static_teststatic_test[root@localhost ~]# docker ps CONTAINER ID  IMAGE       COMMAND     CREATED    STATUS    PORTS     NAMESb4f32bbe4a34  hub.c.163.com/library/ubuntu "/bin/bash"    41 hours ago  Up 41 hours         loving_brattaind75a2d8c7822  xingguo/df_test1    "nginx -g 'daemon off" 2 days ago   Up 2 days   0.0.0.0:32770->80/tcp df_nginx_web959c0fc5d903  xingguo/commit_test1   "nginx -g 'daemon off" 2 days ago   Up 2 days   0.0.0.0:32769->80/tcp nginx_test[root@localhost ~]# docker start static_teststatic_test[root@localhost ~]# docker ps CONTAINER ID  IMAGE       COMMAND     CREATED    STATUS    PORTS     NAMES25fcbf6e953d  hub.c.163.com/library/ubuntu "/bin/bash"    29 minutes ago  Up 2 seconds  0.0.0.0:32773->80/tcp static_testb4f32bbe4a34  hub.c.163.com/library/ubuntu "/bin/bash"    41 hours ago  Up 41 hours         loving_brattaind75a2d8c7822  xingguo/df_test1    "nginx -g 'daemon off" 2 days ago   Up 2 days   0.0.0.0:32770->80/tcp df_nginx_web959c0fc5d903  xingguo/commit_test1   "nginx -g 'daemon off" 2 days ago   Up 2 days   0.0.0.0:32769->80/tcp nginx_test[root@localhost ~]# docker top static_testUID     PID     PPID    C     STIME    TTY     TIME    CMDroot    4719    4702    0     13:17    pts/2    00:00:00   /bin/bash[root@localhost ~]# docker exec static_test nginx[root@localhost ~]# docker top static_testUID     PID     PPID    C     STIME    TTY     TIME    CMDroot    4719    4702    0     13:17    pts/2    00:00:00   /bin/bashroot    4800    1     0     13:18    ?     00:00:00   nginx: master process nginxamandab+   4801    4800    0     13:18    ?     00:00:00   nginx: worker processamandab+   4802    4800    0     13:18    ?     00:00:00   nginx: worker processamandab+   4803    4800    0     13:18    ?     00:00:00   nginx: worker processamandab+   4804    4800    0     13:18    ?     00:00:00   nginx: worker processamandab+   4805    4800    0     13:18    ?     00:00:00   nginx: worker processamandab+   4806    4800    0     13:18    ?     00:00:00   nginx: worker processamandab+   4807    4800    0     13:18    ?     00:00:00   nginx: worker processamandab+   4808    4800    0     13:18    ?     00:00:00   nginx: worker process[root@localhost ~]# 

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。

 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 麻江县| 南华县| 肇庆市| 偏关县| 措美县| 河池市| 临沭县| 原平市| 尼玛县| 祁门县| 宣城市| 太谷县| 富宁县| 石阡县| 班玛县| 克拉玛依市| 长治县| 宁晋县| 南郑县| 山东省| 南平市| 疏勒县| 原阳县| 清原| 吴堡县| 阿合奇县| 沂水县| 桑植县| 延长县| 平利县| 米脂县| 资溪县| 会昌县| 泉州市| 扎鲁特旗| 嘉峪关市| 灌云县| 安阳市| 延川县| 柯坪县| 沁水县|