欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker入門教程(利用docker部署web應(yīng)用)

 更新時間:2023年02月16日 14:17:38   作者:逆襲的小學(xué)生  
docker是一個用來裝應(yīng)用的容器,就像杯子可以裝水,筆筒可以放筆,書包可以放書,可以把hello word放在docker中,可以把網(wǎng)站放入docker中,可以把任何想得到的程序放在docker中,這篇文章主要介紹了docker入門(利用docker部署web應(yīng)用),需要的朋友可以參考下

第一章 什么是docker

1.1 docker的發(fā)展史

2010年幾個年輕人成立了一個做PAAS平臺的公司dotCloud.起初公司發(fā)展的不錯,不但拿到過一些融資,還獲得了美國著名孵化器YCombinator的支持,后來微軟谷歌亞馬遜這樣的大廠商也紛紛加入PAAS平臺,競爭十分激烈,dotCloud舉步維艱.

2013年可能是公司發(fā)展的不是很好,工程師又不想自己的努力付之東流,于是他們決定將他們的核心技術(shù)開源.這項技術(shù)就是docker.當(dāng)時docker的功能就是將linux容器中的應(yīng)用代碼打包,可以輕松的在服務(wù)器之間進行遷移.

無心插柳柳成蔭,docker技術(shù)風(fēng)靡全球,于是dotCloud公司改名為docker Inc,并全面投入到docker的開發(fā)之中.

2014.6 Docker發(fā)布了第一個版本 Docker1.0

2014.7 獲得C輪融資 $4000W

2015.4 獲得D輪融資 $9500W

至今已經(jīng)發(fā)布到docker 

1.2 docker國內(nèi)應(yīng)用史

由此看出,不管開發(fā)測試還是運維,絕大多數(shù)人都應(yīng)該會接觸到docker.所以學(xué)docker還是很有必要的.

1.3 什么是Docker

docker是一個用來裝應(yīng)用的容器,就像杯子可以裝水,筆筒可以放筆,書包可以放書,可以把hello word放在docker中,可以把網(wǎng)站放入docker中,可以把任何想得到的程序放在docker中.

官方解釋:

第二章 了解docker

2.1 docker思想

2.1.1 集裝箱

沒有集裝箱之前運輸貨物,東西零散容易丟失,有了集裝箱之后貨物不容易丟失,我們可以把貨物想象成程序,目前我們要把程序部署到一臺新的機器上,可能會啟動不起來,比如少一些配置文件什么的或者少了什么數(shù)據(jù),有了docker的集裝箱可以保證我們的程序不管運行在哪不會缺東西.

2.1.2 標(biāo)準(zhǔn)化

1. 運輸方式

docker運輸東西有一個超級碼頭,任何地方需要貨物都由鯨魚先送到超級碼頭,然后再由鯨魚從超級碼頭把貨物送到目的地去.對應(yīng)的技術(shù)來說,比如我們要把臺式機的應(yīng)用部署到筆記本上,我們可能選擇用QQ發(fā)過去或者用U盤拷過去,docker就標(biāo)準(zhǔn)化了這個過程,我們只需在臺式機上執(zhí)行一個docker命令,把鯨魚派過來,把程序送到超級碼頭去,再在筆記本上執(zhí)行一個docker命令,然后由鯨魚把程序從超級碼頭送到筆記本上去.

2. 存儲方式

當(dāng)我們把程序存儲到筆記本上時,我們需要一個目錄,且我們要記住這個目錄,因為下次我們可能還要修改,有了docker之后我們就不用記住了程序在哪里了,我們使用的時候只需要一條命令就行了.

3. API接口

docker提供了一系列rest api的接口,包含了對docker也就是對我們的應(yīng)用的一個啟動停止查看刪除等等,如當(dāng)我們要啟動tomcat時我們要執(zhí)行startup命令,當(dāng)我們要停止時要執(zhí)行shutdown命令,如果不是tomcat,我們可能還需要一些別的命令.有了docker我們記docker的命令就可以對其進行操作.

2.1.3 隔離

我們在使用虛擬機時有自己的cpu,硬盤,內(nèi)存,完全感覺不到外面主機的存在,docker也差不多,不過它更輕量,我們創(chuàng)建虛擬機可能要幾分鐘,但是docker只需要一秒.最底層的技術(shù)時linux一種內(nèi)核的限制機制,叫做LXC,LXC是一種輕量級的容器虛擬化技術(shù).最大效率的隔離了進程和資源.通過cgroup,namespace等限制,隔離進程組所使用的物理資源,比如CPU,MEMORY等等,這個機制在7,8年前已經(jīng)加入到linux內(nèi)核了,直到2013年docker出世的時候才火起來,大家可能奇怪為什么這么好的技術(shù)埋沒這么多年都沒人發(fā)現(xiàn)呢?英雄造時勢,時勢造英雄,如果沒有云計算,敏捷開發(fā),高頻度的彈性伸縮需求,沒有IT行業(yè)這么多年長足的發(fā)展,也就沒有docker.

2.2 docker解決的問題

2.2.1 系統(tǒng)環(huán)境不一致

開發(fā):我本地沒問題.運維:服務(wù)器沒問題. 這個問題就變成了皮球.

如果一個應(yīng)用要正常的啟動起來需要什么?比如java web應(yīng)用.

需要一個操作系統(tǒng),操作系統(tǒng)之上要jdk,tomcat,我們的代碼,配置文件.

操作系統(tǒng)的改變可能會導(dǎo)致我們的應(yīng)用開不起來,比如我們調(diào)用了某些系統(tǒng)命令.

jdk版本也可能導(dǎo)致程序的運行失敗.比如class文件需要1.7編譯,我們裝了個1.6的jdk.

tomcat版本也能導(dǎo)致失敗,比如舊的版本一些配置在新版本中不再支持.

代碼的話就比如應(yīng)用了C盤,D盤的一個文件,或者是用了系統(tǒng)的一些環(huán)境編碼.

配置的話我們可能少了某個配置文件等等.

下面docker來了,它把操作系統(tǒng),jdk,tomcat,代碼,配置全部放到集裝箱里.再打包放到鯨魚上,由鯨魚給我們送到服務(wù)器上,在我的機器上怎么運行,在別的機器上也怎么運行.不會有任何的問題.一句話就是docker解決了運行環(huán)境不一致所帶來的問題.

2.2.2 系統(tǒng)好卡,哪個哥們又寫死循環(huán)了

如果有根別人共用服務(wù)器的同學(xué)可能有這樣的體會,莫名其妙發(fā)現(xiàn)自己的程序掛了,一查原因要不是內(nèi)存不夠了,要不是硬盤滿了,還有就是發(fā)現(xiàn)某個服務(wù)變慢了,甚至敲終端都比較卡,但是linux本身就是一個多用戶的操作系統(tǒng)本身就可以供多個用戶使用,docker的隔離性可以解決這個問題,就算別人的程序還是死循環(huán)瘋狂吃CPU,還是封裝瘋狂打日志把硬盤占滿,還是內(nèi)存泄漏,把內(nèi)存占滿,都不會導(dǎo)致我們的程序運行錯誤.因為docker在啟動的時候就限定好了,它最大使用的CPU硬盤,如果超過了,就會殺掉對應(yīng)進程.

2.2.3 雙11來了,服務(wù)器撐不住了

大部分系統(tǒng)業(yè)務(wù)量并不是每天都比較平均的,特別是一些電商系統(tǒng),每天總有那么幾天業(yè)務(wù)量是平時的幾倍甚至幾十倍,如果按雙11的規(guī)模去準(zhǔn)備服務(wù)器那么對于平時的規(guī)模來說又是極大的浪費,所以就在節(jié)日前臨時擴展機器,過完節(jié)再把多余的節(jié)點下線,這就給運維帶來了非常大的工作量,一到過節(jié)就在各個機器上部署各種各樣的服務(wù),我們啟動程序需要java,tocmat等等,并且還可能起不來還要調(diào)試,這是非常惡心的工作,有了docker一切都變得美好了,只要點一下服務(wù)器就可以從10臺變成100臺甚至1000,1W臺.都是分分鐘的事情.

為什么會這么快呢?都是用標(biāo)準(zhǔn)的方式把我們的程序運過來,下載過來,再用標(biāo)準(zhǔn)的方式把它運行起來,就可以做到只要在每臺機器上都執(zhí)行一兩條命令,就可以讓程序正常跑起來,并且不用擔(dān)心有問題.

第三章 走進docker

鏡像就是上面說的集裝箱,倉庫就是超級碼頭,容器就是我們運行程序的地方.docker運行程序的過程就是去倉庫把鏡像拉到本地,然后用一條命令把鏡像運行起來變成容器.

build:構(gòu)建,就是構(gòu)建鏡像.

ship:運輸,運輸鏡像,從倉庫和主機運輸.

run:運行的鏡像就是一個容器.

build,ship,run和鏡像,倉庫,容器是一一對應(yīng)的.

3.1 鏡像

鏡像的英文名交image.前面我們講到了集裝箱,鯨魚拖著的所有集裝箱就是一個鏡像.

從本質(zhì)上來說鏡像就是一系列文件,可以包括我們應(yīng)用程序的文件,也可以包括我們應(yīng)用的運行環(huán)境的文件,既然是文件,那么是以什么樣的格式在本地保存的呢?

說到存儲格式,就要提到linux的一個存儲技術(shù),叫做聯(lián)合文件系統(tǒng),是一種分層的文件系統(tǒng),可以將不同的目錄掛到同一個虛擬文件系統(tǒng)下.

比如test1下有三個文件夾,test2下有兩個文件夾,還有一個readme文件.聯(lián)合文件系統(tǒng)就是可以在一個文件夾(test)中看到多個文件夾(test1,test2)中的內(nèi)容.

通過這種方式可以實現(xiàn)文件的分層,test1可以把它看作第一層,test2可以把它看作第二層,每一層有每一層自己的文件,docker就是利用了這種分層的概念實現(xiàn)了鏡像存儲.

下圖就是鏡像的存儲格式,這張圖是分層的,最下面一層,上面也是一層層的好像集裝箱羅列在一起.這就是鏡像最直觀的存儲方式.下面是操作系統(tǒng)的引導(dǎo),上面是linux操作系統(tǒng),再上面是一些相關(guān)的軟件,如果是我們自己的程序,就可以是tomcat,jdk,再往上是應(yīng)用代碼,每一層是我們自己都可以控制得,最上面一層先忽略不看,因為這是和容器有關(guān)的.注意一點,docker鏡像系統(tǒng)的每一層都是只讀的,然后把每一層加載完成之后這些文件都會被看成是同一個目錄,相當(dāng)于只有一個文件系統(tǒng).docker的這種文件系統(tǒng)被稱之為鏡像.

圖1

3.2 容器

為了便于理解,大家可以把容器想象成虛擬機,每個虛擬機都有自己的文件系統(tǒng),可以把圖1整個一部分看成是文件系統(tǒng),與虛擬機系統(tǒng)的區(qū)別是這里面的文件系統(tǒng)是一層一層的,并且最下面的n層都是只讀的,只有上面一層是可寫的.為什么要有可寫的這層呢?大家的程序運行起來,勢必會要寫一些日志,寫一些文件,或者對系統(tǒng)的某一些文件做一些修改,所以容器在最上面一層創(chuàng)建了可讀可寫的文件系統(tǒng).

在程序的運行過程中,如果要寫鏡像文件時,因為鏡像的每一層都是只讀的,它會把文件的每一層拷到文件的最上層,然后再對它進行修改,修改之后,當(dāng)我們的應(yīng)用讀一個文件時會從頂層進行查找,如果沒有才會找下一層.

由于容器的最上一層是可以修改的,鏡像是不能修改的,這樣就能保證鏡像可以生成多個容器獨立運行,沒有任何干擾.

3.3 倉庫

我們的鏡像是要在其它機器上運行,如何進行傳輸呢?

這就用到了docker倉庫,我們要先把我們的鏡像傳到docker倉庫中,再由目的地把docker倉庫拉過去,這就完成了這樣的一次傳輸過程.

誰提供了這樣的倉庫呢?docker自己提供了,hub.docker.com,但是非常慢,為了解決這個問題,國內(nèi)很多公司也在做自己的倉庫.比較知名的是由網(wǎng)易蜂巢提供的 https://c.163yun.com/hub#/m/home/

第四章 centos下docker安裝

因為我這里使用的是centos所以就在centos下安裝.

參考博客與網(wǎng)站:

http://www.dbjr.com.cn/article/161580.htm

https://blog.csdn.net/jsnhux/article/details/89847109

https://docs.docker.com/install/linux/docker-ce/centos/

1. Docker 要求 CentOS 系統(tǒng)的內(nèi)核版本高于 3.10,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 。

通過 uname -r 命令查看你當(dāng)前的內(nèi)核版本

2.  如果安裝過請先卸載

yum remove docker \
           docker-client \
           docker-client-latest \
           docker-common \
           docker-latest \
           docker-latest-logrotate \
           docker-logrotate \
           docker-engine

3.安裝依賴設(shè)置yum倉庫

安裝依賴:

yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

設(shè)置倉庫:

yum install docker-ce docker-ce-cli containerd.io

4. 安裝docker

yum install docker-ce docker-ce-cli containerd.io

5. 啟動并加入開機啟動

systemctl start docker
systemctl enable docker

6.驗證是否安裝成功

docker version
docker run hello-world

顯示如下即安裝成功! 

[root@iZ2ze68ge5c1uwlkmnb9ixZ zcapp]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:0e11c388b664df8a27a901dce21eb89f11d8292f7fca1b3e3c4321bf7897bffe
Status: Downloaded newer image for hello-world:latest
 
Hello from Docker!
This message shows that your installation appears to be working correctly.
 
To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.
 
To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash
 
Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/
 
For more examples and ideas, visit:
 https://docs.docker.com/get-started/

第五章 docker初體驗

5.1 docker基本命令

1.docker pull [options] NAME[:TAG]

通過此命令可以docker遠程倉庫拉取鏡像到本地.

name是拉取鏡像的名稱,:TAG表示是可選的,如果不選表明時latest,如果選擇表明是指定版本的.

options是拉去的一些參數(shù).

當(dāng)不加請求地址的時候回去docker的官網(wǎng)拉取鏡像.

2.docker images [options] [REPOSITORY[:TAG]]

options是選項,后面是指定鏡像的名稱.這個用的不多,可能當(dāng)本地鏡像非常多的時候要指定查看某一個鏡像.

IMAGE ID 其實是一個64位的字符串,它可以唯一標(biāo)識我們的鏡像,這里只顯示了16位,后面的被截掉了.

3. docker run [options] IMAGE[:TAG] [COMMAND] [ARG..]

IMAGE是鏡像的名字

COMMAND是運行起來的時候要執(zhí)行什么命令.

ARG表示這條命令運行需要的參數(shù).

5.2 docker運行鏡像流程

docker pull:首先docker pull向docker daemon發(fā)送了一條命令pull,告訴docker daemon要拉取某一個鏡像,docker daemon會在本機檢查鏡像是否存在,如果存在且版本就是我們想要拉取的版本,它就不會做任何的操作.如果不存在下一步它會到docker的倉庫中找我們要拉取的鏡像名字,如果找到了就會有docker倉庫傳送到我們的本地,把我們要的鏡像傳送到我們的本地來.

docker run:首先把命令發(fā)送到我們的docker daemon,docker daemon會先檢查鏡像在本機是否存在,如果不存在相當(dāng)于執(zhí)行了一個docker pull的過程,下載回來之后會以一定方式把鏡像運行起來變成docker容器.

第六章 docker運行nginx

6.1 運行nginx鏡像

我們打開網(wǎng)易蜂巢鏡像中心 https://c.163yun.com/hub#/m/home/

搜索nginx,可以看到有兩個nginx,他們的名字和頭上和圖標(biāo)都不一樣,一個是鯨魚,一個是兩個球.

帶有鯨魚的鏡像表示這個鏡像是從官網(wǎng)的鏡像中心復(fù)制過來的.這個鏡像與docker的鏡像是一摸一樣的.我們使用此鏡像.

點進去,會有下載地址,復(fù)制里面的地址,然后拉取鏡像.

復(fù)制到系統(tǒng)中運行.

運行完后可以查看鏡像狀態(tài)

在前臺運行容器命令如下,輸入后容器就會運行,按ctrl+c可以終止容器的運行.

docker run hub.c.163.com/library/nginx

在后臺運行容器:

docker run -d hub.c.163.com/library/nginx

查看運行的容器:

docker ps

更多關(guān)于運行的命令:

docker run --help

因為我們在平時運行的時候需要調(diào)試容器內(nèi)部的設(shè)置、查看一下日志等等.我們可以通過如下命令進入容器內(nèi)部:

命令的大體內(nèi)容:

命令具體內(nèi)容: 

docker exec -it 02963d2002b bash

 -i保證我們的輸入有效,即使在沒有detach的情況下也能運行.

-t表示將分配給我們一個偽終端.我們將在偽終端輸入我們的內(nèi)容.

后面跟著的是容器的id,即我們上面用ps查詢出來的id,這個id可以少寫幾位,它會自動識別.

可輸入如下命令了解更多:

docker exec --help

輸入命令后發(fā)現(xiàn)我們前面的標(biāo)識也變了,相當(dāng)于進入了一個新的電腦.

可以查詢一下nginx在什么位置

which nginx

打開ps查看一下當(dāng)前運行的進程.我這里提示沒有ps命令.我從網(wǎng)上查了一下發(fā)現(xiàn)是因為當(dāng)前系統(tǒng)沒有安裝這個命令,然后我安裝了一下.從命令可以看出,這個nginx容器附帶的系統(tǒng)應(yīng)該是ubuntu不是centos.

安裝ps命令:

apt-get updateapt-get install procps

利用ps命令查看進程,可以發(fā)現(xiàn)nginx已經(jīng)在運行了.

ps -ef

輸入 exit即可退出返回原來的系統(tǒng). 

6.2 docker網(wǎng)絡(luò)

6.2.1 網(wǎng)絡(luò)介紹

上面我們只運行了nginx,并沒有用瀏覽器進行訪問,這里我們嘗試用瀏覽器訪問,但是之前我們要了解一下docker網(wǎng)絡(luò).

我們直到docker的隔離性,網(wǎng)絡(luò)也是個隔離性的一部分,linux使用了命名空間來進行資源的隔離,比如pid namespace就是用來隔離進程的,mount namespace是用來隔離文件系統(tǒng)的,network namespace 是用來隔離網(wǎng)絡(luò)的.每一個network namespace都提供了一個獨立的網(wǎng)絡(luò)環(huán)境,包括網(wǎng)卡路由iptable規(guī)則等等,都是與以其它的network space隔離的.

1. docker容器在默認情況下,一般會分配一個獨立的network-namespace,也就是網(wǎng)絡(luò)類型中的Bridge模式.

在使用Bridge時就涉及到了一個問題,既然它有獨立的namesapce,這就需要一種技術(shù)使容器內(nèi)的端口可以在主機上訪問到,這種技術(shù)就是端口映射,docker可以指定你想把容器內(nèi)的某一個端口可以在容器所在主機上的某一個端口它倆之間做一個映射,當(dāng)你在訪問主機上的端口時,其實就是訪問容器里面的端口.

2. 還有一種類型是Host模式,如果在啟動容器的時候指定使用Host模式,那么這個容器將不會獲得一個獨立的network namespace,而是和主機共同使用一個,這個時候容器將不會虛擬出自己的網(wǎng)卡,配置出自己的ip.而是使用宿主機上的ip和端口.也就是說在docker上使用網(wǎng)絡(luò)和在主機上使用網(wǎng)絡(luò)是一樣的.

3. 還有一種網(wǎng)絡(luò)類型是None.也就是沒有網(wǎng)絡(luò),這種情況docker將不會和外界的任何東西進行通訊.

6.2.2 實際訪問端口

剛才我們在運行nginx鏡像的時候并沒有指定端口映射,所以我們這里停掉nginx容器.

docker stop containerId

1. -p(小寫)是開放一個容器的端口到主機上

在后臺運行,開放主機8080端口映射到容器的80端口上.

docker run -d -p 8080:80 hub.c.163.com/library/nginx

查看主機8080端口是否開啟

netstat -na |grep 8080

是開啟的那么訪問 主機ip:8080 即可訪問到nginx.

2. -P(大寫)是開放容器所有的端口到主機上一個隨機的端口.

停掉剛才的docker服務(wù).

使用大P

docker run -d -P hub.c.163.com/library/nginx

可以看到隨機給我的端口是32768 

然后用 ip:32768去訪問即可訪問到nginx. 

第七章 docker部署第一個java web應(yīng)用

我們還需要學(xué)習(xí)Dockerfile,它告訴docker我們怎樣制作我們的鏡像,我們鏡像的每一步操作分別是什么,寫好Dockerfile后我們使用docker build命令執(zhí)行Dockerfile里面的每一件事情.最終會把Dockerfile構(gòu)建出來.

在這里因為是做一個演示,所以我們使用了一個開源的java web應(yīng)用Jpress.

7.1 制作自己的鏡像

1. 從網(wǎng)易的鏡像中心找一個tomcat的鏡像

docker pull hub.c.163.com/library/tomcat:latest

因為tomat鏡像肯定有jdk,所以我們就不用單獨再裝jdk了.

2.編寫dockerfile

我們需要建立一個dockerfile告訴docker需要做什么,這里我建立了Dockerfile,并將我們的web文件放到了和它同一個目錄下.

首先我們的鏡像是要運行在tomcat中的,所以填寫 from tomcat,以tomcat為基礎(chǔ).maintainer是所有者的意思.因為war包是要放在webapps中的,所以我們使用copy命令復(fù)制到tomcat的webapps.

為什么webapps在local中?我們可以去下載鏡像的網(wǎng)站查詢,向下拉就好了.具體網(wǎng)址 : https://c.163yun.com/hub#/m/repository/?repoId=2955

這里說一個個人猜想,每個容器都包含一個自己的系統(tǒng),所以這里的/usr/local/tomcat/webapps指的是tomcat容器中的位置,那么哪里指定是tomcat容器呢?就是在一開始的from指定的.

from hub.c.163.com/library/tomcat
 
maintainer zhangchen 61037@qq.com
 
COPY jpress.war /usr/local/tomcat/webapps

3.構(gòu)建容器

注意這里是有個點的,點標(biāo)明是在根據(jù)當(dāng)前目錄構(gòu)建

docker build .

可以使用docker images查看鏡像是否build成功

發(fā)現(xiàn)一個none,表明構(gòu)建成功了.

可以重新構(gòu)建給它起個名字 -t是給鏡像指定一個tag

docker build -t jpress:latest .

更多的參數(shù)查詢:

docker build --help

7.2 運行自己的鏡像

運行我們制作的鏡像并指定端口

docker run -d -p  8080:8080 jpress

訪問我們的網(wǎng)站,發(fā)現(xiàn)網(wǎng)站已經(jīng)可以正常訪問了.

然后發(fā)現(xiàn)它要求我們安裝自己的數(shù)據(jù)庫,所以我們利用docker安裝mysql.

在鏡像中心搜索并拉取mysql

 docker pull hub.c.163.com/library/mysql:latest

在鏡像中心查看配置,并配置root用戶密碼

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 hub.c.163.com/library/mysql

 發(fā)現(xiàn)我們沒有創(chuàng)建數(shù)據(jù)庫,于是停止這個容器的運行,并在與劇中創(chuàng)建jpress數(shù)據(jù)庫.

docker stop 4be94fb2df1d3a28c1
ocker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql

這樣我們的數(shù)據(jù)庫就建立成功了.

進入網(wǎng)站后要輸入網(wǎng)站信息,輸入數(shù)據(jù)庫地址時,注意不要輸入localhost,因為我們jpress是運行在容器內(nèi)的,我們會訪問tomcat容器內(nèi)的3306,我們應(yīng)該用ifconfig查詢我們本機的ip地址.我這里的內(nèi)網(wǎng)ip是172.17.10.68

以上都做完后,我們的網(wǎng)站就可以跑起來了.

http://59.110.164.62:8080/jpress/

到此這篇關(guān)于docker入門教程(利用docker部署web應(yīng)用)的文章就介紹到這了,更多相關(guān)docker部署web應(yīng)用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Windows?Server?2012?R2?安裝?Docker的詳細步驟

    Windows?Server?2012?R2?安裝?Docker的詳細步驟

    這篇文章主要介紹了Windows?Server?2012?R2?安裝?Docker,在這個給大家說明下使用windows10、Windows?Server?2016以上系統(tǒng)可直接使用安裝包,低版本系統(tǒng)需要使用?Docker?Toolbox?來進行安裝使用?Docker,需要的朋友可以參考下
    2022-04-04
  • docker實現(xiàn)將本地文件復(fù)制到docker容器內(nèi)

    docker實現(xiàn)將本地文件復(fù)制到docker容器內(nèi)

    這篇文章主要介紹了docker實現(xiàn)將本地文件復(fù)制到docker容器內(nèi)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • docker-compose+nginx部署前后端分離的項目實踐

    docker-compose+nginx部署前后端分離的項目實踐

    本文主要介紹了docker-compose?+?nginx部署前后端分離的項目,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Docker服務(wù)器存儲資源池不足的問題解決

    Docker服務(wù)器存儲資源池不足的問題解決

    這篇文章主要給大家介紹了關(guān)于Docker服務(wù)器存儲資源池不足的問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • docker安裝minio及實現(xiàn)文件上傳、刪除、下載方式

    docker安裝minio及實現(xiàn)文件上傳、刪除、下載方式

    這篇文章主要介紹了docker安裝minio及實現(xiàn)文件上傳、刪除、下載方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • docker限制容器內(nèi)存的方法詳解

    docker限制容器內(nèi)存的方法詳解

    在服務(wù)器中使用 docker 時,如果不對 docker 的可調(diào)用內(nèi)存進行限制,當(dāng) docker 內(nèi)的程序出現(xiàn)不可預(yù)測的問題時,就很有可能因為內(nèi)存爆炸導(dǎo)致服務(wù)器主機的癱瘓,本文將介紹使用 docker 進行容器內(nèi)存限制的方法,感興趣的朋友一起看看吧
    2023-11-11
  • Docker四種網(wǎng)絡(luò)模式演示及連通性測試

    Docker四種網(wǎng)絡(luò)模式演示及連通性測試

    這篇文章主要為大家介紹了Docker四種網(wǎng)絡(luò)模式演示及連通性測試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • 詳解通過docker和docker-compose實現(xiàn)eureka高可用

    詳解通過docker和docker-compose實現(xiàn)eureka高可用

    這篇文章主要介紹了詳解通過docker和docker-compose實現(xiàn)eureka高可用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • Docker鏡像構(gòu)建的兩種方法解析

    Docker鏡像構(gòu)建的兩種方法解析

    這篇文章主要為大家詳細介紹了Docker鏡像構(gòu)建的兩種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Docker使用阿里加速器安裝centos教程

    Docker使用阿里加速器安裝centos教程

    這篇文章主要介紹了Docker使用阿里加速器安裝centos教程,需要的朋友可以參考下
    2017-04-04

最新評論