Docker容器內部署靜態(tài)網(wǎng)站

設置容器的映射端口
-P 暴露所有端口進行映射
-p 暴露指定容器端口

run [-P] [-p]

四種方式

// containerPort
// 只指定容器端口,宿主機的端口是隨機的
docker run -p 80 -i -t mydocker1 /bin/bash 
// hostPort
// 同時指定了 宿主機端口 和 容器端口
docker run -p 8080:80 -i -t mydocker1 /bin/bash
// ip::containerPort
// 指定ip 和容器的端口
docker run -p 0.0.0.0:80 -i -t mydocker1 /bin/bash
// ip::hostPort
// ip,宿主機和容器端口同時指定
docker run -p 0.0.0.0:8080:80 -i -t mydocker1 /bin/bash

示例: Nginx部署
步驟:

  • 創(chuàng)建映射80端口的交互式容器
  • 安裝 Nginx
  • 安裝vim 編輯器
  • 創(chuàng)建靜態(tài)頁面
  • 修改 Nginx配置文件
  • 運行Nginx
  • 驗證網(wǎng)頁訪問

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

docker run -p 80 --name web -i -t ubuntu /bin/bash

安裝 Nginx

建議換阿里云源

apt install -y nginx

安裝vim 編輯器

apt install vim

創(chuàng)建靜態(tài)頁面

mkdir -p /var/www/html
cd /var/www/html
vim index.html

修改 Nginx配置文件

root@e6bb5696e362:/var/www/html# whereis nginx
nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx
root@e6bb5696e362:/var/www/html# ls /etc/nginx
conf.d          koi-utf     nginx.conf    sites-available  uwsgi_params
fastcgi.conf    koi-win     proxy_params  sites-enabled    win-utf
fastcgi_params  mime.types  scgi_params   snippets
root@e6bb5696e362:/var/www/html# ls /etc/nginx/sites-enabled/
default
root@e6bb5696e362:/var/www/html# vim /etc/nginx/sites-enabled/default

nginx配置文件

root 指定路徑已經(jīng)是正確的就不用修改。

運行Nginx

root@e6bb5696e362:/var/www/html# nginx
root@e6bb5696e362:/var/www/html# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 16:16 ?        00:00:00 /bin/bash
root      1249     1  0 16:45 ?        00:00:00 nginx: master process nginx
www-data  1250  1249  0 16:45 ?        00:00:00 nginx: worker process
www-data  1251  1249  0 16:45 ?        00:00:00 nginx: worker process
root      1253     1  0 16:45 ?        00:00:00 ps -ef

讓容器運在后臺

CTRL + P
CTRL + Q

驗證網(wǎng)頁訪問

hejing@learning:~$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                   NAMES
e6bb5696e362        ubuntu              "/bin/bash"         32 minutes ago      Up 32 minutes       0.0.0.0:32768->80/tcp   web
hejing@learning:~$ docker port web
80/tcp -> 0.0.0.0:32768
hejing@learning:~$ docker top web
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                7398                7382                0                   00:16               pts/19              00:00:00            /bin/bash
root                8907                7398                0                   00:45               ?                   00:00:00            nginx: master process nginx
www-data            8908                8907                0                   00:45               ?                   00:00:00            nginx: worker process
www-data            8909                8907                0                   00:45               ?                   00:00:00            nginx: worker process
hejing@learning:~$

hejing@learning:~$ curl http://127.0.0.1:32768
<!DOCTYPE html>
<html>
<head>
        <title></title>
        <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js
"></script>

<style type="text/css">

        .hello{
                color:red;
        }

</style>
</head>
<body>
        <h3> welcome to <b class="hello">uic</b></h3>


        <select name="a1" id="a1" >
                <option value="a"> A</option>
                <option value="b"> B</option>
                <option value="c"> C</option>
        </select>
//此處 省略了 其余 html 代碼

瀏覽器打開查看


效果圖

使用容器地址來查看

hejing@learning:~$ docker inspect web

image.png
hejing@learning:~$ curl http://172.17.0.2
image.png

瀏覽器再打開查看

image.png

停止容器 web 并重新啟動容器 web, nginx并沒有跟隨啟動

hejing@learning:~$ docker stop web
web
hejing@learning:~$ docker start -i web
root@e6bb5696e362:/# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 17:07 ?        00:00:00 /bin/bash
root        13     1  0 17:07 ?        00:00:00 ps -ef
root@e6bb5696e362:/#

// 可以使用 docker exec 命令

// 先進入守護容器
CTRL + P
CTRL + Q

hejing@learning:~$ docker exec web nginx
hejing@learning:~$ docker top web
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                9595                9578                0                   01:07               pts/19              00:00:00            /bin/bash
root                9736                1                   0                   01:11               ?                   00:00:00            nginx: master process nginx
www-data            9737                9736                0                   01:11               ?                   00:00:00            nginx: worker process
www-data            9738                9736                0                   01:11               ?                   00:00:00            nginx: worker process

停止容器重新啟動,分配地址和端口可能改變

docker inspect web
容器端口.png
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末露乏,一起剝皮案震驚了整個濱河市瘟仿,隨后出現(xiàn)的幾起案子比勉,更是在濱河造成了極大的恐慌浩聋,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異砖第,居然都是意外死亡,警方通過查閱死者的電腦和手機梧兼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門羽杰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人考赛,你說我怎么就攤上這事〖啵” “怎么了复哆?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長唆阿。 經(jīng)常有香客問我驯鳖,道長久免,這世上最難降的妖魔是什么阎姥? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任呼巴,我火速辦了婚禮衣赶,結果婚禮上,老公的妹妹穿的比我還像新娘碧磅。我一直安慰自己,他們只是感情好敲街,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布严望。 她就那樣靜靜地躺著,像睡著了一般逻恐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上复隆,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天,我揣著相機與錄音挽拂,去河邊找鬼惭每。 笑死,一個胖子當著我的面吹牛台腥,可吹牛的內容都是我干的。 我是一名探鬼主播绒北,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼黎侈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闷游?” 一聲冷哼從身側響起峻汉,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤脐往,失蹤者是張志新(化名)和其女友劉穎休吠,沒想到半個月后瘤礁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡酝蜒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了矾湃。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡霉咨,死狀恐怖蛙紫,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情途戒,我是刑警寧澤坑傅,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站喷斋,受9級特大地震影響唁毒,放射性物質發(fā)生泄漏。R本人自食惡果不足惜星爪,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一浆西、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧顽腾,春花似錦近零、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至憎瘸,卻和暖如春入篮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背幌甘。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工潮售, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人锅风。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓酥诽,卻偏偏與公主長得像,于是被迫代替她去往敵國和親皱埠。 傳聞我的和親對象是個殘疾皇子肮帐,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)边器,斷路器训枢,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 第一章 Nginx簡介 Nginx是什么 沒有聽過Nginx?那么一定聽過它的“同行”Apache吧忘巧!Ngi...
    JokerW閱讀 32,685評論 24 1,002
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,822評論 6 342
  • 阿夙青宇閱讀 425評論 0 0
  • (一) OBJC 面向對象的三大特征 封裝:把具體的對象封裝成抽象的類恒界,隱藏內部實現(xiàn),對象的屬性和實現(xiàn)細節(jié)砚嘴,僅對...
    牧馬人_hlc閱讀 490評論 0 6