国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

前端眼里的docker

netScorpion / 1985人閱讀

摘要:容器可以被創建啟動停止刪除暫停等。注最佳實踐的要求容器不應該向其存儲層內寫入任何數據,容器存儲層要保持無狀態化。

docker是什么

可以簡單的認為docker容器是一個虛擬機,封裝就是把這個虛擬機打包,打包后能在任何系統跑,docker裝上即用。也可以形象的比喻成一個集裝箱,把所有貨物都打包好放到箱子里,不需要再分類運輸,集裝箱不互相影響

好處

統一應用環境

方便遷移

占用資源少 (如果你多帶帶開一個虛擬機,那么虛擬機會占用空閑內存的,docker部署的話,這些內存就會利用起來)

docker和虛擬機比較

虛擬機是虛擬出一套硬件后,在其上運行一個完整操作系統,在該系統上再運行所需應用進程

容器內的應用進程直接運行于宿主的內核,容器內沒有自己的內核,而且也沒有進行硬件虛擬



Docker架構


基本概念 鏡像

Docker 鏡像是一個特殊的文件系統,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(如匿名卷、環境變量、用戶等)
鏡像鏡像只是一個虛擬的概念,且是分層存儲的,其實際體現并非由一個文件組成,而是由一組文件系統組成,或者說,由多層文件系統聯合組成。

容器

1.鏡像(Image)和容器(Container)的關系,就像是面向對象程序設計中的 類 和 實例 一樣,鏡像是靜態的定義,容器是鏡像運行時的實體。容器可以被創建、啟動、停止、刪除、暫停等。
2.容器的本質是進程,但是和宿主執行的進程不一樣,它有獨立的命名空間,因此有自己的root文件系統,網絡配置、進程空間
3.容器存儲層的生存周期和容器一樣,容器消亡時,容器存儲層也隨之消亡,因此任何保存于容器存儲層的信息都會隨容器刪除而丟失。
注: Docker 最佳實踐的要求

1.容器不應該向其存儲層內寫入任何數據,容器存儲層要保持無狀態化。
2.所有的文件寫入操作,都應該使用 數據卷(Volume)、或者綁定宿主目錄,在這些位置的讀寫會跳過容器存儲層,直接對宿主(或網絡存儲)發生讀寫,其性能和穩定性更高
3.數據卷的生存周期獨立于容器,容器消亡,數據卷不會消亡
倉庫

一個 Docker Registry 中可以包含多個倉庫(Repository);每個倉庫可以包含多個標簽(Tag);每個標簽對應一個鏡像。

使用鏡像 獲取鏡像
docker pull [選項] [Docker Registry 地址[:端口號]/]倉庫名[:標簽]
docker pull ubuntu:16.04
docker run 運行容器的命令

docker run -it --rm 
    ubuntu:16.04 
    bash
-it:  -i:交互式操作  -t:終端  我們這里打算進入bash執行一些命令并查看返回結果,因此需要交互式終端
--rm:這個參數是說容器退出后隨之將其刪除
bash:放在鏡像名后的是命令,這里我們希望有個交互式 Shell,因此用的是 bash。
列出鏡像
docker image ls
docker image ls -f dangling=true 虛懸鏡像
docker image prune 刪除虛懸鏡像
docker image ls -a   中間層鏡像
docker image ls ubuntu 列出部分鏡像
docker image ls -f since=mongo:3.2
docker image ls -f before=mongo:3.2
刪除本地鏡像
docker image rm [選項] <鏡像1> [<鏡像2> ...]
docker image rm ID
docker image rm 鏡像名
docker image rm 摘要
docker rmi 鏡像名
Docker指令 Dockerfile定制鏡像
FROM 指定基礎鏡像
RUN 執行命令
構建鏡像 docker build -t nginx:v3 .
COPY 復制文件

COPY <源路徑>... <目標路徑>

COPY package.json /usr/src/app/

相對于工作目錄的相對路徑(工作目錄可以用 WORKDIR

各種元數據都會保留。比如讀、寫、執行權限、文件變更時間等

ADD

Add 比COPY多了些特性,比如 <源路徑> 可以是一個 URL

CMD

shell: CMD <命令>

exec : CMD ["可執行文件", "參數1","參數2"]

CMD echo $HOME
CMD [ "sh", "-c", "echo $HOME" ]
ENV
ENV NODE_VERSION 7.2.0
或者ENV NODE_VERSION=7.2.0
比如使用: RUN curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION
操作容器 啟動
$ docker container run 
  -d 
  -p 127.0.0.2:8080:80 
  --rm 
  --name mynginx 
  nginx
重啟
docker container start
終止
docker stop ID
進入容器
docker attach ID  /exit 會導致容器退出
docker exec -it ID  /exit 不會導致容器退出
Docker Compose 安裝和卸載

linux安裝

$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

卸載

$ sudo rm /usr/local/bin/docker-compose
使用
docker-compose up
docker-compose down
docker-compose --version
項目實踐

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/93090.html

相關文章

  • 前端眼里docker

    摘要:容器可以被創建啟動停止刪除暫停等。注最佳實踐的要求容器不應該向其存儲層內寫入任何數據,容器存儲層要保持無狀態化。 docker是什么 可以簡單的認為docker容器是一個虛擬機,封裝就是把這個虛擬機打包,打包后能在任何系統跑,docker裝上即用。也可以形象的比喻成一個集裝箱,把所有貨物都打包好放到箱子里,不需要再分類運輸,集裝箱不互相影響 好處 統一應用環境 方便遷移 占用資源少 ...

    DevTTL 評論0 收藏0
  • 你不是一個前端

    摘要:你說你自己是一名前端,作為你們,我就感覺很丟人。確實,你是一名前端,所以你肯定希望前端用的爽。這就是所謂的屁股決定腦袋,因為你只是一名前端,而不是一名工程師?,F在,我終于明白了,你不是一個前端的含義。 Mentor:你不是一個前端我:??? Mentor:你不要老想著自己是一個前端,你不是一個前端 我:可是把我招來不就是寫前端的嗎?? Mentor:你可以寫前端,但是你不要限制自己只作...

    blair 評論0 收藏0
  • 后端技術精選 - 收藏集 - 掘金

    摘要:使用簽署免費證書后端掘金本文操作在操作系統下完成,需要和超文本傳輸安全協議英語,縮寫,常稱為,紅黑樹深入剖析及實現后端掘金紅黑樹是平衡二叉查找樹的一種。 使用 Lets Encrypt 簽署免費 Https 證書 - 后端 - 掘金 本文操作在Linux操作系統下完成,需要Python和Nginx 超文本傳輸安全協議(英語:Hypertext Transfer Protocol Sec...

    Meils 評論0 收藏0

發表評論

0條評論

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