成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Docker的基本使用

xialong / 3503人閱讀

摘要:下面使用命令拉取為的鏡像。只需要在運行容器時使用參數(shù)即可。我個人對的理解就是把所用的下載和各種路徑的配置都按順序?qū)懞迷谖募校缓笤偈褂盟鼧?gòu)建出鏡像。這里就不作詳細說明,如果有想要了解的可以閱讀第一本書里面很詳細的講了的使用。

拉取鏡像:

上篇文章 Docker入門安裝教程 中講了Docker最重要的一部分就是就是Docker鏡像,我們所有的容器都是基于Docker鏡像來創(chuàng)建的,這樣才能保證所有同一個鏡像創(chuàng)建出來的容器是一模一樣的。而我們的容器則放在倉庫中,Docker Hub就是一個官方公開的倉庫,里面有非常多的鏡像。我們可以直接使用官方倉庫中的鏡像來創(chuàng)建容器,下面我們就來創(chuàng)建一個nginx容器。

使用docker search nginx命令來搜索鏡像,可以看到搜索出來非常多的結(jié)果,注意,OFFICIAL那欄標記OK的就表示這個鏡像是nginx官方制作的鏡像。

也可以直接到 Docker Hub 上去搜索鏡像,可以更直觀的看到鏡像的信息。比如這里就提供了該鏡像在Github上存放的對應不同的tagDockerfile文件,Dockerfile文件就是用來生成鏡像用的,后續(xù)再講怎么使用。一個tag就代表一個版本的鏡像,因為nginx也有很多不同的版本,在拉取鏡像的時候可以指定版本,如果沒指定則默認拉取latest版本的鏡像。

下面使用docker pull命令拉取tag1.15.8nginx鏡像。下載會需要一點時間,然后使用docker images命令來查看本地存在的鏡像,發(fā)現(xiàn)已經(jīng)有一個tag1.15.8nginx鏡像了。

運行容器:

使用這個鏡像運行起一個容器,運行docker run -d -p 9500:80 --name nginx nginx:1.15.8,對外映射的端口是9500,這里先不探究這些命令參數(shù)的含義,后續(xù)再細講。使用docker ps命令來查看運行的容器,發(fā)現(xiàn)有一個名為nginx的容器,試著訪問下,是可以成功打開nginx的主頁。到現(xiàn)在為止我們已經(jīng)成功的在官方倉庫拉取一個鏡像并通過鏡像來運行起了一個容器。

運行Docker容器:

在拉取了Docker鏡像之后我們可以使用docker run [鏡像名:tag]命令來運行一個容器,這個命令后面可以添加參數(shù)來進行不同的操作,這里只簡單介紹下上面用到的。

-p 9500:80
這個參數(shù)的含義就是把容器的80端口映射到宿主機的9500端口,這樣訪問宿主機的9500端口就可以訪問到nginx所在的容器了。

--name nginx
為這個容器起一個名字。

-d
后臺運行。

Docker容器和宿主機共享數(shù)據(jù):

因為容器是隨時可以拋棄的,但是例如nginxmysql這類需要存放數(shù)據(jù)的容器如果直接拋棄了舊的容器使用新的容器就會造成原來的數(shù)據(jù)丟失,所以就需要讓這類容器的數(shù)據(jù)是和宿主機的某個目錄下共享的,這樣即使就容器刪除了,新的容器只要指定數(shù)據(jù)的使用路徑依舊可以使用舊容器的數(shù)據(jù)。只需要在運行容器時使用-v參數(shù)即可。

使用這條命令運行容器時,會將容器這個目錄下的數(shù)據(jù)共享到宿主機/var/lib/docker/volumes/目錄下,會自動生成一個隨機目錄。

docker run -d -p 9500:80 -v /etc/nginx/html --name nginx nginx:1.15.8

可以使用docker inspect nginxdocker inspect --format={{.Mounts}} nginx命令來查看隨機掛載到了宿主機哪個目錄

如果不想使用隨機目錄,也可以自己指定目錄,使用冒號隔開即可,前面的是宿主機的目錄,后面是容器的目錄。

docker run -d -p 9500:80 -v  /usr/local/half/nginx/html:/etc/nginx/html --name nginx nginx:1.15.8

啟動容器時使用自己的配置文件:

其實在鏡像里面已經(jīng)配置好了默認的配置文件路徑,后續(xù)會講到如何去查看這些配置路徑。在nginx容器中配置文件的默認是/etc/nginx/nginx.conf,而在默認的配置文件里又講頁面的目錄設置在了容器中的/etc/nginx/html中,所以其實可以使用上面的-v參數(shù)來使用自己的配置文件。

使用-v參數(shù)替換默認的配置文件,下面的命令中第一個-v參數(shù)是使用宿主機/usr/local/half/nginx/ nginx.conf來替換了默認的配置文件,這是我提前創(chuàng)建好的一個nginx配置文件。在那里面我指定了將/etc/nginx/html目錄作為頁面的根目錄,而第二個-v命令則是把這個目錄掛載到宿主機下的/usr/local/half/nginx/html目錄,那里面有一個自定義的index.html文件。所以這樣一來當我們再訪問這個容器時會發(fā)現(xiàn)主頁是跳轉(zhuǎn)到自定義的頁面上。

docker run -d -p 9500:80 -v /usr/local/half/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/half/nginx/html:/etc/nginx/html --name nginx nginx:1.15.8

而且因為我們把配置文件和存放頁面的路徑全都掛載在了宿主機的目錄下,如果我們需要修改什么配置,只需要修改完之后再啟動一個新的容器就可以了。

進入到容器內(nèi)部:

因為鏡像其實是根據(jù)Dockerfile構(gòu)建出來的,官方的鏡像也是如此,很多時候我們或許不清楚默認的配置路徑,除了查文檔和資料外還可以直接進入容器內(nèi)部來查看。

運行docker exec -i -t nginx /bin/bash命令就可以進入到容器內(nèi)部,我們會發(fā)現(xiàn)其實即使一個簡化版的Linux系統(tǒng),所以我們可以使用一些基本的Linux命令來查詢各種想要知道的信息。

Dockerfile:

Dockerfile文件是專門用來創(chuàng)建鏡像的,最開始Docker Hub頁面上也提供了Dockerfile文件在Github上的路徑,例如nginx的Dockerfile。我個人對Dockerfile的理解就是把所用的下載和各種路徑的配置都按順序?qū)懞迷?b>Dockerfile文件中,然后再使用它構(gòu)建出鏡像。其實上面使用的-v等命令都是對應著Dockerfile中不同的指令,只不過是以命令行的方式調(diào)用了,覆蓋了Dockerfile中的指令配置。這里就不作詳細說明,如果有想要了解的可以閱讀<<第一本Docker書>>里面很詳細的講了Dockerfile的使用。

Docker常用命令:

查看Docker信息,sudo docker info

查看Docker鏡像,sudo docker images

查看Docker啟動的容器,sudo docker ps

查看Docker所有的容器,sudo docker ps -a

刪除Docker中某個容器,sudo docker rm [容器名字或id]

刪除Docker中所有的容器(查詢出所有的容器id,傳到rm命令中),sudo docker rm $(sudo docker ps -a -q)

刪除Docker中某個鏡像,sudo docker rmi [鏡像名字或id]

強制刪除Docker中某個鏡像,sudo docker rmi -f [鏡像名字或id]

查找倉庫中的鏡像,sudo docker search [鏡像名字]

拉取倉庫中的鏡像,sudo docker pull [鏡像名字]

登錄Docker Hub賬號,sudo docker login

推送鏡像到Docker Hub倉庫,sudo push [倉庫/鏡像名字:tag]

總結(jié):

Docker在如今越來越流行,除了運維人員之外,后臺開發(fā)也很有必要熟悉它,它可以極大的簡化服務器的部署,本文只是粗略的介紹了基本使用,大家可以閱讀<<第一本Docker書>>或者是官方文檔等資料去了解更多更高級的功能。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/27666.html

相關文章

  • Docker學習之基本概念及安裝(1)

    摘要:分層存儲因為鏡像包含操作系統(tǒng)完整的文件系統(tǒng),其體積往往是龐大的,因此在設計時,就充分利用的技術,將其設計為分層存儲的架構(gòu)。分層存儲的特征還使得鏡像的復用定制變的更為容易。 什么是Docker Docker 是一個開源的應用容器引擎,基于 Go 語言 并遵從Apache2.0協(xié)議開源。Docker 可以讓開發(fā)者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 L...

    lvzishen 評論0 收藏0
  • Docker相關項目

    摘要:相關基于項目和項目,并遵循應用的十二因素風格。相關在設計上,項目盡量保持驅(qū)動和模塊化,以便模塊支持不同的實現(xiàn)方案。相關不僅可以管理眾多虛擬機,其計算服務還支持對的驅(qū)動,管理引擎的子項目還可用于通過模板管理容器?,F(xiàn)已整合公司所支持的項目。 整理自《Docker技術入門與實踐》 PaaS(Platform as a Service) PaaS 是希望提供一個統(tǒng)一的可供所有軟件直接運行而無需...

    littlelightss 評論0 收藏0
  • Docker入門總結(jié)

    摘要:原文地址直接訪問是一個虛擬環(huán)境容器,可以將應用代碼環(huán)境配置系統(tǒng)環(huán)境等一并打包在一起,生成一個鏡像,然后就可以發(fā)布到任意平臺上。 原文地址: 直接訪問 showImg(https://segmentfault.com/img/bVbh8Mt?w=587&h=220); Docker是一個虛擬環(huán)境容器,可以將應用代碼、環(huán)境配置、系統(tǒng)環(huán)境等一并打包在一起,生成一個鏡像,然后就可以發(fā)布到任意平...

    Astrian 評論0 收藏0
  • Docker 搭建靶場利器

    摘要:后聯(lián)合廣東,致力于北伐,他所統(tǒng)領的七軍被譽為鋼軍,奠定了南京國民政府的基礎,龍?zhí)兑灰?,奠定了統(tǒng)一全國的基礎。這本書爆出很多歷史事實,比如北伐,國民黨內(nèi)部紛爭,蔣介石的為人。 最近在看《李宗仁回憶錄》,斷斷續(xù)續(xù)看了一個星期,因白天沒時間,只能抽出晚上的時間,荒廢了好多學習的時間,自覺慚愧。本來就對歷史非常感興趣,而李宗仁的這個回憶錄,寫得真是太好啦,每天晚上回來,本想著打開書就看一會,然...

    Jeff 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<