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

資訊專欄INFORMATION COLUMN

容器化-Docker實戰(zhàn)

tuantuan / 1030人閱讀

摘要:導讀本文系統(tǒng)性介紹安裝組件命令語法和應用,通過上述介紹使我們已經(jīng)對基本操作有一定了解。二安裝本文以及以上版本為例來說明安裝底層對應的是鏡像,不可寫的文件系統(tǒng),它的存儲方式比較多。根據(jù)規(guī)范產(chǎn)生和運行容器的工具。

導讀:本文系統(tǒng)性介紹Docker安裝、Docker組件、Docker命令、Dockerfile語法和Docker應用,通過上述介紹使我們已經(jīng)對docker基本操作有一定了解。
一、前言
  本文將系統(tǒng)性的介紹Docker相關的知識;包含Docker命令,Dockerfile語法,如何用Docker進行構(gòu)建運行。
二、Docker安裝
  本文以centos7及以上版本為例來說明Docker安裝;Docker底層對應的是鏡像,不可寫的文件系統(tǒng),它的存儲方式比較多。
AUFS:(AnotherUnionFS)是一種Union FS,是文件級的存儲驅(qū)動
Overlay:是一種Union FS,和AUFS的多層不同的是Overlay只有兩層:一個upper文件系統(tǒng)和一個lower文件系統(tǒng),分別代表Docker的鏡像層和容器層
Device mapper:是Linux內(nèi)核2.6.9后支持的,提供的一種從邏輯設備到物理設備的映射框架機制,在該機制下,用戶可以很方便的根據(jù)自己的需要制定實現(xiàn)存儲資源的管理策略
Btrfs:被稱為下一代寫時復制文件系統(tǒng),并入Linux內(nèi)核,也是文件級級存儲,但可以像Device mapper一直接操作底層設備
  ZFS:文件系統(tǒng)是一個革命性的全新的文件系統(tǒng),它從根本上改變了文件系統(tǒng)的管理方式,ZFS 完全拋棄了“卷管理”,不再創(chuàng)建虛擬的卷,而是把所有設備集中到一個存儲池中來進行管理,用“存儲池”的概念來管理物理存儲空間
  Overlay2:要取代之前overlay的主要原因是它能“支持多個下層目錄”,能解決原先驅(qū)動中inode耗盡的問題
本文將以Overlay2進行示例:
1.升級內(nèi)核CentOS7.0以上?

2.安裝鏡像倉庫
  1)清理舊版本
  rpm -qa |grep docker
  yum -y remove docker*
  2)安裝鏡像倉庫
  yum install docker-distribution
  修改配置文件
  vim/etc/docker-distribution/registry/config.yml

  重啟鏡像倉庫
  systemctl daemon-reload
  service docker-distribution restart
  service docker-distribution status
  訪問鏡像倉庫服務:http://x.x.x.x:5000
  3)安裝Docker

  

  4)配置Docker存儲

  5)啟動docker
  systemctl start docker
  查看docker信息
  docker info
三、Docker組件
  Docker基礎組件

dockerd: Dockerdaemon進程,訪問總?cè)肟?br>docker: Docker 客戶端
docker-containerd:一個控制runC的守護進程,containerd利用runC的高級功能(如seccomp和用戶名稱空間支持)以及用于容器克隆和實時遷移的檢查點和恢復
docker-containerd-ctr:docker-containerd客戶端,基于gPRC APIs通信
docker-containerd-shim:一個位于運行時實現(xiàn)前面的小墊片,它允許它重新分配來初始化并處理來自調(diào)用者的重新附加。
docker-runc:根據(jù)OCI規(guī)范產(chǎn)生和運行容器的CLI工具。
四、Docker命令
  1.創(chuàng)建一個容器:docker run

  2.查看容器列表:docker ps
  3.查看所有容器:docker ps -a

4.啟動、停止、重啟容器: docker start|stop|restart  容器ID|容器名

  5.查看容器日志:docker logs –f容器ID|容器名
  6.刪除某個容器:docker rm –f容器ID|容器名
  7.刪除所有容器:docker rm $(docker ps -a -q)
  8.查看容器運行狀態(tài):docker stats容器ID|容器名
  9.進入另一個容器:docker exec–ti 容器ID|容器名
  10.進入容器觀察運行情況: docker attach容器ID|容器名
  11.查看容器詳細信息 docker inspect容器ID|容器名
  12.查看當前機器上鏡像 docker images
  13.拉取鏡像 docker pull 鏡像名
  14.將鏡像推送鏡像倉庫 docker push 鏡像名
  15.構(gòu)建鏡像 docker build
  16.將鏡像倒出成文件 docker save鏡像 > xxx.tar.gz
  17.將文件加載成鏡像 docker load < xxx.tar.gz
  18.從容器內(nèi)復制文件到指定的路徑上 docker cp container:path hostpath
  19.登錄到Docker registry服務器 docker login
  20.殺掉容器 docker kill 容器ID|容器名
  21.移除鏡像 docker rmi
五、Dockerfile介紹
  Dockerfile是由一些列命令和參數(shù)構(gòu)成的腳本,這些命令應用于基礎鏡像并最終創(chuàng)建一個新的鏡像
  常見命令
  1.FROM ——基礎鏡像來源
  2.MAINTAINER——維護者是誰
  3.RUN——當前基礎鏡像執(zhí)行,并且提交新鏡像
  4.ADD——復制內(nèi)容到容器中;普通文件,壓縮文件,url
  5.COPY——本地內(nèi)容復制到容器中,只能是普通文件及文件夾
  6.EXPOSE——告訴Docker服務端容器暴露的端口號,類似docker -p
  7.CMD——容器執(zhí)行命令,每個容器只能執(zhí)行最后一條命令
  8.ENTRYPOINT——容器啟動后執(zhí)行的命令,并且不可被 docker run 提供的參數(shù)覆蓋
  9.ENV——環(huán)境變量
  10.VOLUME——容器需要的掛載卷
  11.WORKDIR——后續(xù)的 RUN 、 CMD 、 ENTRYPOINT 指令配置工作目錄
  12.ONBUILD——配置當所創(chuàng)建的鏡像作為其它新創(chuàng)建鏡像的基礎鏡像時,所執(zhí)行的操作指令
  13.USER——指定運行容器時的用戶名或UID,后續(xù)的 RUN 也會使用指定用戶
六、Docker應用
  本示例將以平臺kubernetes集群日志采集fluentd容器來說明docker是如何使用的
  1.編寫fluentd Dockerfile
  FROM debian:stretch-slim
  MAINTAINER [email protected]
 ?。?copy local file to container
  COPY clean-apt /usr/bin
  COPY clean-install /usr/bin
  COPY Gemfile /Gemfile
 ?。roxy setting, Over the wall
  ENV http_proxy=http://10.3.15.206:8888
  ENV https_proxy=http://10.3.15.206:8888
  # 1. Install & configure dependencies.
  # 2. Install fluentd via ruby.
  # 3. Remove build dependencies.
  # 4. Cleanup leftover caches & files.
  RUN BUILD_DEPS=“make patch gcc g++ libc6-dev ruby-dev”

 

  # Expose prometheus metrics.
  EXPOSE 80
  ENV LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so.1
  # Start Fluentd to pick up our config that watches Docker container logs.
  CMD /run.sh $FLUENTD_ARGS
  2.構(gòu)建鏡像
  docker build –t10.3.15.191:5000/tools/fluentd-http:0.3 .

  3.運行鏡像
  宿主機上的/var/log目錄映射容器中進行日志采集

  4.查看容器

  5.進入容器

  6.停止容器

  7.查看容器

  8.容器日志

  9.運行狀態(tài)

  本次docker介紹到這里,還有很多知識沒有涉及到,比如說docker網(wǎng)絡、docker鏡像導入導出等,整個docker知識還是比較廣泛的,需要詳細去了解和實踐; 通過上述介紹我們已經(jīng)對docker基本操作有了一定了解,下一篇我們將介紹基于docker技術的容器平臺?! ?/p>

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

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

相關文章

  • 應用容器env實戰(zhàn)

    摘要:本文是數(shù)人云工程師方志浩在微信群分享的實錄,與大家聊一聊應用容器在配置管理中遇到的問題以及解決方法。數(shù)人云分測試演示生產(chǎn)三種環(huán)境進行持續(xù)集成發(fā)布,同時數(shù)人云組件通過進行應用容器的封裝下發(fā)和管理。 本文是數(shù)人云工程師方志浩在DockOne微信群分享的實錄,與大家聊一聊應用容器在配置管理中遇到的問題以及解決方法。 隨著Docker技術的火熱發(fā)展, Docker在代碼構(gòu)建發(fā)布中扮演著越來越重...

    kid143 評論0 收藏0
  • kubernetes 實戰(zhàn)[1]

    摘要:不過目前主流的做法包括半自動部署方案都是讓主節(jié)點通過在容器中運行等東西。 轉(zhuǎn)載自筆者的博客 kubernetes 容器平臺分析 Docker 容器算是目前最火的云計算產(chǎn)品了,因為它解決了很多運維和開發(fā)上的痛點問題,比如抹平了開發(fā)和生產(chǎn)的環(huán)境區(qū)別,甚至可以做到在生產(chǎn)環(huán)境使用 RHEL,而開發(fā)使用 Ubuntu,也能平滑部署,但是想要真正的將其投放到生產(chǎn)環(huán)境中,實際上還有很多問題亟待解決。...

    J4ck_Chan 評論0 收藏0
  • kubernetes 實戰(zhàn)[1]

    摘要:不過目前主流的做法包括半自動部署方案都是讓主節(jié)點通過在容器中運行等東西。 轉(zhuǎn)載自筆者的博客 kubernetes 容器平臺分析 Docker 容器算是目前最火的云計算產(chǎn)品了,因為它解決了很多運維和開發(fā)上的痛點問題,比如抹平了開發(fā)和生產(chǎn)的環(huán)境區(qū)別,甚至可以做到在生產(chǎn)環(huán)境使用 RHEL,而開發(fā)使用 Ubuntu,也能平滑部署,但是想要真正的將其投放到生產(chǎn)環(huán)境中,實際上還有很多問題亟待解決。...

    linkFly 評論0 收藏0
  • 都9102年了,還不會Docker?10分鐘帶你從入門操作到實戰(zhàn)上手

    摘要:聯(lián)調(diào)測試,無需依賴他人。針對以上問題,有兩種解決方法,一個是自己搭建私有服務,另一個是用云服務的鏡像管理平臺如阿里云的容器鏡像服務。利用,先對阿里云的服務進行登錄。推送后,就能在阿里云的倉庫上看到這個鏡像。 Docker簡述 Docker是一種OS虛擬化技術,是一個開源的應用容器引擎。它可以讓開發(fā)者將應用打包到一個可移植的容器中,并且該容器可以運行在幾乎所有l(wèi)inux系統(tǒng)中(Windo...

    sf_wangchong 評論0 收藏0

發(fā)表評論

0條評論

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