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

資訊專欄INFORMATION COLUMN

Docker 使用簡介

kelvinlee / 2644人閱讀

摘要:由于支持在鏡像的基礎(chǔ)上進(jìn)行定制,使得擴(kuò)展變得更簡單。而官方也維護(hù)了一大批高質(zhì)量的鏡像,大大降低了鏡像的制作成本基本概念倉庫提供了倉庫用于存放制作好的鏡像,方便使用者獲取,在本地可通知配置多個(gè)。

Docker 是使用 GoLang 開發(fā)的開源容器引擎,可以方便的打包開發(fā)好的應(yīng)用,然后分發(fā)到任意 linux 主機(jī)上。

與傳統(tǒng)的虛擬機(jī)相比擁有以下優(yōu)勢:

高效的系統(tǒng)資源利用率

由于不需要進(jìn)行硬件虛擬和運(yùn)行完整的操作系統(tǒng)等額外開銷,無論是應(yīng)用執(zhí)行速度、內(nèi)存損耗或者文件存儲(chǔ)速度, Docker 都更加高效

更快的啟動(dòng)速度

Docker 容器應(yīng)用直接運(yùn)行與宿主內(nèi)核,無需啟動(dòng)完整的操作系統(tǒng),可以做到秒級啟動(dòng)

一致的運(yùn)行環(huán)境

Docker 鏡像提供了除內(nèi)核外的完整運(yùn)行環(huán)境,確保了應(yīng)用運(yùn)行環(huán)境的一致性

持續(xù)交付和部署

可以通過 Docker 鏡像來實(shí)現(xiàn)服務(wù)的持續(xù)交付、部署。使用 Dockerfile 來構(gòu)建鏡像,使用持續(xù)集成系統(tǒng)進(jìn)行集成測試;使用鏡像結(jié)合持續(xù)部署系統(tǒng)進(jìn)行自動(dòng)部署

遷移輕松

只需要遷移鏡像及鏡像運(yùn)行的數(shù)據(jù)就可在其他主機(jī)或平臺運(yùn)行

易于維護(hù)和擴(kuò)展

由于使用鏡像進(jìn)行部署,使維護(hù)更為容易。由于支持在鏡像的基礎(chǔ)上進(jìn)行定制,使得擴(kuò)展變得更簡單。而官方也維護(hù)了一大批高質(zhì)量的鏡像,大大降低了鏡像的制作成本

基本概念 倉庫

Docker 提供了倉庫(Repository)用于存放制作好的鏡像,方便使用者獲取,在本地可通知配置多個(gè) Repository 。

拉取

可以使用命令來拉取鏡像:

docker pull [repo url>/]image name>

默認(rèn)的 repo urlhub.docker.com ,拉取默認(rèn)倉庫中的鏡像時(shí)是不需要 url 的。
如拉取 debiandocker pull debian 。

推送

我們也可將自己制作好的鏡像推送到倉庫,以便分發(fā),使用命令:

docker push [/][:>

搜索

使用 docker search 命令則可搜索默認(rèn) repo url 內(nèi)的鏡像。

鏡像加速

由于默認(rèn) repo url 在國外,為了加快拉取速度,需要指定其為國內(nèi)的,向 /etc/docker/daemon.json 中添加:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

便可使用 Docker 在中國的鏡像加速站。

對于企業(yè)用戶還可搭建自己的私有鏡像倉庫,方便管理內(nèi)部鏡像。

鏡像

鏡像是經(jīng)過 Dockerfile 規(guī)則打包生成的, Dockerfile 文件了指明了鏡像的生成及運(yùn)行方式。

Dockerfile

這里簡單介紹下 Dockerfile 中常用的命令:

FROM

指明基于那個(gè)鏡像,通常是一個(gè)系統(tǒng)環(huán)境,如 debian 。在多階段(stage)構(gòu)建中可使用 FROM ... AS ... 來命令階段,供后面的階段使用

ENV

設(shè)置鏡像的環(huán)境變量

EXPOSE

導(dǎo)出端口,語法: EXPOSE port/protocol

RUN

執(zhí)行一條命令

COPY

復(fù)制鏡像內(nèi)部的文件,也可從指定 stage 中復(fù)制文件,使用 --from= 來實(shí)現(xiàn)

ADD

復(fù)制本地文件到鏡像中,并做了一些額外工作,如自動(dòng)解壓文件、保持文件屬性等

WORKDIR

切換工作目錄

CMD

執(zhí)行命令,極容易在 docker run 時(shí)被覆蓋。主要用于指定鏡像的默認(rèn)啟動(dòng)命令,有以下三種語法:

CMD ["executable", "param1", "param2"] Exec 模式,首先

CMD ["param1", "param2"] 設(shè)置 ENTRYPOINT 的默認(rèn)參數(shù)

CMD command param1 param2 Shell 模式

ENTRYPOINT

指定鏡像默認(rèn)的運(yùn)行命令,可以使用 --entrypoint 參數(shù)在 docker run 時(shí)覆蓋 Dockerfile 內(nèi)的 ENTRYPOINT

ExecShell 兩種模式

通常使用這個(gè)命令來指定鏡像的啟動(dòng)命令,因?yàn)?CMD 稍不注意就被覆蓋了

更多關(guān)于 Dockerfile 內(nèi)容請參見: Dockerfile reference

這里給出一個(gè)簡單的 Dockerfile=, 是 =debian sid 的:

FROM scratch
ADD rootfs.tar.xz /
CMD ["bash"]
創(chuàng)建

使用 docker build -f [-t [:]] . 創(chuàng)建鏡像和標(biāo)記 Tag

Tag 可用來標(biāo)記不同的鏡像版本,就像版本號。

列出

使用 docker image ls 可以列出下載下來的鏡像

運(yùn)行

使用 docker run 命令運(yùn)行鏡像,可使用參數(shù)配置,下面給出一個(gè)例子:

docker run -it -d -p : -v :

-i 是交互式操作

-t 是終端

-p 指定端口映射

-v 指定 volume 映射

-d 后臺模式

刪除

使用 docker image rm 刪除鏡像

導(dǎo)入和導(dǎo)出

導(dǎo)出: docker save > .tar

導(dǎo)入: docker load < .tar

容器

容器是鏡像運(yùn)行后的實(shí)體,運(yùn)行與屬于自己的獨(dú)立的命名空間。

創(chuàng)建

使用 docker run 命令啟動(dòng)鏡像就可以創(chuàng)建一個(gè)容器

列出

使用 docker ps 可列出正在運(yùn)行的容器,加上 -a 參數(shù)可列出所以存在的容器

控制

啟動(dòng)

使用 docker container start 啟動(dòng)容器

終止

使用 docker container stop 終止容器

暫停

dcoker container pause

重啟

dcoker container restart

日志

dcoker container logs

刪除

docker container rm 命令可刪除容器

進(jìn)入容器

使用 docker exec -it /bin/sh 命令可進(jìn)入容器的執(zhí)行環(huán)境

導(dǎo)入和導(dǎo)出

導(dǎo)入: docker import .tar

導(dǎo)出: docker export > .tar

部署

直接運(yùn)行鏡像不便于部署服務(wù),因而官方推出了 Docker Compose 來負(fù)責(zé)應(yīng)用部署。

使用 docker-compose.yml 文件將應(yīng)用需要的鏡像都定義在一起,然后使用 docker-compose 命令來部署。

docker-compose.yml 的語法詳見: Compose file version 3 reference,這里給出一份部署 wordpress 的文件:

version: "3.7"

services:
  wordpress:
    image: wordpress
    ports:
      - "8080:80"
    networks:
      - backend

  mysql:
    image: mysql
    volumes:
       - db-data:/var/lib/mysql/data
    networks:
       - backend

volumes:
  db-data:

networks:
  backend:
常用命令

up

啟動(dòng)服務(wù),加上 -d 表示在后端運(yùn)行

down

終止服務(wù)

build

構(gòu)建服務(wù)中的容器

config

驗(yàn)證文件格式是否有誤

exec

進(jìn)入指定的容器,如進(jìn)入上面 wordpress 中的 mysql 則是: docker-compose exec mysql

logs

顯示日志,可指定容器

restart

重啟服務(wù)

更多命令請見: Overview of docker-compose CLI

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

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

相關(guān)文章

  • Docker容器系列教程(一):簡介與安裝

    摘要:容器鏡像運(yùn)行后,此時(shí)就實(shí)例化了一個(gè)容器。側(cè)重的是應(yīng)用級別,而虛擬機(jī)是徹底隔離整個(gè)運(yùn)行環(huán)境。方便交付將應(yīng)用以及運(yùn)行環(huán)境打包成一個(gè)鏡像,交付更簡單高效。下載地址點(diǎn)擊運(yùn)行即可一如既往的下一步下一步完成安裝。 Docker是什么 Docker是一款由DotCloud公司(現(xiàn)改名為Docker)基于Go語言開發(fā)的開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)...

    BlackHole1 評論0 收藏0
  • Docker-Compose學(xué)習(xí)筆記(1)安裝簡介

    摘要:概述是一個(gè)用來定義和運(yùn)行復(fù)雜應(yīng)用的工具。使用,用戶通過來進(jìn)行構(gòu)建。使用,不再需要使用腳本來啟動(dòng)容器。在配置文件中,所有的容器通過來定義,然后通過腳本來啟動(dòng),停止和重啟應(yīng)用,和應(yīng)用中的服務(wù)以及所有依賴服務(wù)的容器。 概述 Docker Compose是一個(gè)用來定義和運(yùn)行復(fù)雜應(yīng)用的Docker工具。使用Compose,你可以在一個(gè)文件中定義一個(gè)多容器應(yīng)用,然后使用一條命令來啟動(dòng)你的應(yīng)用,完成...

    shiyang6017 評論0 收藏0
  • Docker-Compose學(xué)習(xí)筆記(1)安裝簡介

    摘要:概述是一個(gè)用來定義和運(yùn)行復(fù)雜應(yīng)用的工具。使用,用戶通過來進(jìn)行構(gòu)建。使用,不再需要使用腳本來啟動(dòng)容器。在配置文件中,所有的容器通過來定義,然后通過腳本來啟動(dòng),停止和重啟應(yīng)用,和應(yīng)用中的服務(wù)以及所有依賴服務(wù)的容器。 概述 Docker Compose是一個(gè)用來定義和運(yùn)行復(fù)雜應(yīng)用的Docker工具。使用Compose,你可以在一個(gè)文件中定義一個(gè)多容器應(yīng)用,然后使用一條命令來啟動(dòng)你的應(yīng)用,完成...

    zxhaaa 評論0 收藏0
  • Flux7 Docker 系列教程(一):Docker 簡介

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第一篇。,一種新的容器化技術(shù),因?yàn)檩p量級和便攜化而受到廣泛關(guān)注。本篇文章是系列教程的第一篇。鏡像只讀的容器模板,簡言之就是系統(tǒng)鏡像文件。首先,向發(fā)出請求創(chuàng)建一個(gè)鏡像并且指定容器內(nèi)要運(yùn)行的命令。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第一篇 Part 1: An Introduction。...

    zhaofeihao 評論0 收藏0
  • Flux7 Docker 系列教程(一):Docker 簡介

    摘要:本系列教程翻譯自,系列共有九篇,本文譯自第一篇。,一種新的容器化技術(shù),因?yàn)檩p量級和便攜化而受到廣泛關(guān)注。本篇文章是系列教程的第一篇。鏡像只讀的容器模板,簡言之就是系統(tǒng)鏡像文件。首先,向發(fā)出請求創(chuàng)建一個(gè)鏡像并且指定容器內(nèi)要運(yùn)行的命令。 本系列教程翻譯自 Flux7 Docker Tutorial Series,系列共有九篇,本文譯自第一篇 Part 1: An Introduction。...

    yacheng 評論0 收藏0
  • microservices-with-docker-flask-and-react 簡介

    摘要:前置條件這不是一個(gè)入門課程。此課程為至少有六個(gè)月網(wǎng)站開發(fā)經(jīng)驗(yàn)的高級入門者設(shè)置。主題資源目標(biāo)這部分結(jié)束,具備以下能力。。。第一部分完整代碼依賴第一部分依賴耗時(shí)一章需要幾個(gè)小時(shí)到一整天??沼啻髩K時(shí)間來完成一章,特別是,,這些較難的部分。 在第一部分, 你學(xué)到如何使用 Docker 來創(chuàng)建一個(gè)基于python, postgres, 和 flask web 框架的 RESTful API 可重...

    lily_wang 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<