<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Docker從入門到實(shí)戰(zhàn)應(yīng)用

      第1章 概念

      第2章 基礎(chǔ)操作 - 鏡像

      第3章 基礎(chǔ)操作 - 容器

      第4章 容器的修改及保存

      第5章 容器進(jìn)階操作

      第6章 Dockerfile

      第1章 概念

      什么是沙箱機(jī)制
      #1、沙箱是一個(gè)虛擬系統(tǒng)程序,沙箱提供的環(huán)境相對(duì)于每一個(gè)運(yùn)行的程序都是獨(dú)立的,而且不會(huì)對(duì)現(xiàn)有的系統(tǒng)產(chǎn)生影響。
      #2、沙箱具有非常良好的獨(dú)立性、隔離性,所以能夠搭建一些具有高風(fēng)險(xiǎn)的軟件進(jìn)行測(cè)試。
      #3、在沙箱里運(yùn)行病毒可以說也是安全操作。
      Docker的概念
      Docker是一個(gè)開源的應(yīng)用容器引擎,基于go語言并遵從Apache2.0協(xié)議開源。
      Docker開源讓開發(fā)者打包他們的應(yīng)用及依賴包到一個(gè)輕量級(jí)、可移植的“容器”中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實(shí)現(xiàn)虛擬化。
      “容器”是完全使用“沙箱機(jī)制”,相互之間不會(huì)有任何接口(類似iPhone的application),更重要的是容器性能開銷極低
      Docker容器優(yōu)勢(shì):
      1、啟動(dòng)快
      2、占資源少

      鏡像

      通過鏡像創(chuàng)建容器
      光盤、裝系統(tǒng)
      鏡像里邊的內(nèi)容

      倉(cāng)庫(kù)

      鏡像的集中存放地

      第2章 基礎(chǔ)操作 - 鏡像

      1. 從倉(cāng)庫(kù)獲取鏡像
      搜索鏡像:docker search image_name
      搜索結(jié)果過濾:
        是否是官方:
          docker search --filter "is-official=true" image_name
        是否是自動(dòng)化構(gòu)建
          docker search --filter "is-automated=true" image_name
        大于多少顆星
          docker search --filter stars=3 image_name
      下載鏡像:docker pull image_name
      2. 本地鏡像的查看:docker images
      3. 本地鏡像的刪除:docker rmi image_name

      第3章 基礎(chǔ)操作 - 容器

      1. 創(chuàng)建容器:
      docker run -itd --name=container_name image_name
      -i 表示以交互模式運(yùn)行容器;
      -d 表示后臺(tái)運(yùn)行容器,并返回容器ID;
      -t 為容器重新分配一個(gè)偽輸入終端;
      --name 為容器指定名稱
      2. 查看容器(運(yùn)行中的):docker ps
      3. 查看容器(包括已停止的):docker ps -a
      4. 停止容器:docker stop container_name/container_id
      5. 啟動(dòng)容器:docker start container_name/container_id
      6. 重啟容器:docker restart container_name/container_id
      7. 刪除容器:docker rm container_name/container_id

       第4章 容器的修改及保存

      1. 進(jìn)入容器:docker exec -it container_name/container_id /bin/bash
      2. 退出容器:exit
      3. 提交修改:
      docker commit -a "author" -m "message" container_name/container_id new_image_name:tag_name
      參數(shù)說明:
      -a:參數(shù)可選,用于指定作者,可以寫你的名字
      -m:參數(shù)可選,提交信息,可以說一下你做了哪些修改
      container_id:該參數(shù)為被修改的容器ID
      new_image_name:此為新鏡像的名字,可自定義
      tag_name:此為新鏡像的標(biāo)簽,可不寫,不寫時(shí)標(biāo)簽?zāi)J(rèn)為latest

       第5章 容器進(jìn)階操作

      端口映射:
      ————————————————————————————————————
      |         ——————————        宿主機(jī)   |
      |         |  容器   |                |
      80<————>80|        |                |        
      |         |        |                |
      |         ——————————                |
      —————————————————————————————————————
      docker run -itd -p 宿主機(jī)端口號(hào):容器端口號(hào)

      文件掛載 docker run
      -itd -v /宿主機(jī)/文件目錄:/容器/目錄 將容器的文件復(fù)制到本地 docker cp 容器名:/容器目錄/文件名 /宿主機(jī)目錄/文件名 將本地的文件復(fù)制到容器 docker cp /宿主機(jī)目錄/文件名 容器名:/容器目錄/文件名 容器互聯(lián) docker run -itd --link 要關(guān)聯(lián)的容器名字:容器在被關(guān)聯(lián)的容器中的別名
      修改mysql密碼:
      ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
       

      第6章 Dockerfile

      什么是Dockerfile
      Dockerfile就是名為Dockerfile的文件,文件中包含一些Linux命令,Docker通過讀取文件中的命令來組建鏡像。
      Dockerfile文件內(nèi)容結(jié)構(gòu)
      Dockerfile 一般分為四部分:基礎(chǔ)鏡像信息、維護(hù)者信息、鏡像操作指令容器啟動(dòng)時(shí)執(zhí)行指令,# 為 Dockerfile 中的注釋。
       
      運(yùn)行Dockerfile
      docker build -t image_name:tag_name .
      也可以通過-f參數(shù)來指定Dockerfile文件位置
      docker build -f /path/Dockerfile .
       
      命令詳解:
      ***** from、maintainer、run、add、copy、cmd、entrypoint、expose、volume、workdir
      FORM:指定基礎(chǔ)鏡像,必須為第一個(gè)命令
      格式:
        FROM <image>
        FROM <image>:<tag>
        FROM <image>@<digest>
      示例:
        FROM centos:7.0
       
      MAINTAINER:維護(hù)者信息
      格式:
          MAINTAINER <name>
      示例:
          MAINTAINER zhangsan
       
      RUN:構(gòu)建鏡像時(shí)執(zhí)行的命令
      格式:
          RUN <command>*exec執(zhí)行*
      格式:
          RUN ["executable", "param1", "param2"]
      示例:
          RUN ["/bin/executable", "param1", "param2"]
          RUN yum install nginx
       
      ADD:將本地文件添加到容器中,tar類型文件會(huì)自動(dòng)解壓(網(wǎng)絡(luò)壓縮資源不會(huì)被解壓),可以訪問網(wǎng)絡(luò)資源,類似wget
      格式:
          ADD <src>... <dest>
          ADD ["<src>",... "<dest>"] 用于支持包含空格的路徑
      示例:
          ADD tes* /mydir/       # 添加所有以"tes"開頭的文件
          ADD tes?.txt /mydir/   # ? 替代一個(gè)單字符,例如:"test.txt"
          ADD test relativeDir/  # 添加 "test" 到 `WORKDIR`/relativeDir/
          ADD test /absoluteDir/ # 添加 "test" 到 /absoluteDir/
      注:第一個(gè)參數(shù)指宿主機(jī)文件路徑,第二個(gè)參數(shù)指容器路徑
       
      COPY:功能類似ADD,但是是不會(huì)自動(dòng)解壓文件,也不能訪問網(wǎng)絡(luò)資源
       
      CMD:構(gòu)建容器后調(diào)用,也就是在容器啟動(dòng)時(shí)才進(jìn)行調(diào)用
      格式:
          CMD ["executable","param1","param2"] (執(zhí)行可執(zhí)行文件,優(yōu)先)
          CMD ["param1","param2"] (設(shè)置了ENTRYPOINT,則直接調(diào)用ENTRYPOINT添加參數(shù))
          CMD command param1 param2 (執(zhí)行shell內(nèi)部命令)
      示例:
          CMD echo "This is a test." | wc -
          CMD ["/usr/bin/wc","--help"]
      注:
         CMD不同于RUN,CMD用于指定在容器啟動(dòng)時(shí)所要執(zhí)行的命令,而RUN用于指定鏡像構(gòu)建時(shí)所要執(zhí)行的命令。
      cmd是容器啟動(dòng)的時(shí)候才會(huì)調(diào)用;docker run -itd --name=nginx nginx echo 'hello world'
       
      ENTRYPOINT:配置容器,使其可執(zhí)行化。配合CMD可省去”application”,只使用參數(shù)
      格式:
          ENTRYPOINT ["executable", "param1", "param2"] (可執(zhí)行文件, 優(yōu)先)
          ENTRYPOINT command param1 param2 (shell內(nèi)部命令)
      示例:
          FROM ubuntu
          ENTRYPOINT ["top", "-b"]
          CMD ["-c"]
      注:
         ENTRYPOINT與CMD非常類似,不同的是通過docker run執(zhí)行的命令不會(huì)覆蓋ENTRYPOINT,而docker run命令中指定的任何參數(shù),都會(huì)被當(dāng)做參數(shù)再次傳遞給ENTRYPOINT。Dockerfile中只允許有一個(gè)ENTRYPOINT命令,多指定時(shí)會(huì)覆蓋前面的設(shè)置,而只執(zhí)行最后的ENTRYPOINT指令。
        docker run -itd --name=nginx nginx echo 'hello word'
       
      LABEL:用于為鏡像添加元數(shù)據(jù)
       
      格式:
          LABEL <key>=<value> <key>=<value> <key>=<value> ...
      示例:
        LABEL version="1.0" description="這是一個(gè)nginx鏡像"
      注:
        使用LABEL指定元數(shù)據(jù)時(shí),一條LABEL指定可以指定一或多條元數(shù)據(jù),指定多條元數(shù)據(jù)時(shí)不同元數(shù)據(jù)之間通過空格分隔。推薦將所有的元數(shù)據(jù)通過一條LABEL指令指定,以免生成過多的中間鏡像。
       
      ENV:設(shè)置環(huán)境變量
      格式:
          ENV <key> <value>  #<key>之后的所有內(nèi)容均會(huì)被視為其<value>的組成部分,因此,一次只能設(shè)置一個(gè)變量
          ENV <key>=<value> ...  #可以設(shè)置多個(gè)變量,每個(gè)變量為一個(gè)"<key>=<value>"的鍵值對(duì),如果<key>中包含空格,可以使用\來進(jìn)行轉(zhuǎn)義,也可以通過""來進(jìn)行標(biāo)示;另外,反斜線也可以用于續(xù)行
      示例:
          ENV myName John Doe
          ENV myDog Rex The Dog
          ENV myCat=fluffy
       
      EXPOSE:指定于外界交互的端口
      格式:
          EXPOSE <port> [<port>...]
      示例:
          EXPOSE 80 443
          EXPOSE 8080
      注:
        EXPOSE并不會(huì)讓容器的端口訪問到主機(jī)。要使其可訪問,需要在docker run運(yùn)行容器時(shí)通過-p來發(fā)布這些端口,或通過-P參數(shù)來發(fā)布EXPOSE導(dǎo)出的所有端口
       
      VOLUME:用于指定持久化目錄( 文件掛載-v的縮寫)
      格式:
          VOLUME ["/path/to/dir"]
      示例:
          VOLUME ["/data"]
          VOLUME ["/var/www", "/var/log/apache2", "/etc/apache2"
      注:
        一個(gè)卷可以存在于一個(gè)或多個(gè)容器的指定目錄,該目錄可以繞過聯(lián)合文件系統(tǒng),并具有以下功能:
      1. 卷可以容器間共享和重用
      2. 容器并不一定要和其它容器共享卷
      3. 修改卷后會(huì)立即生效
      4. 對(duì)卷的修改不會(huì)對(duì)鏡像產(chǎn)生影響
      5. 卷會(huì)一直存在,直到?jīng)]有任何容器在使用它
       
      WORKDIR:工作目錄,類似于cd命令
      格式:
          WORKDIR /path/to/workdir
      示例:
          WORKDIR /usr/local/  (這時(shí)工作目錄為/usr/local/)
          WORKDIR nginx  (這時(shí)工作目錄為/usr/local/nginx)
          WORKDIR sbin  (這時(shí)工作目錄為/usr/local/nginx/sbin)
      注:
        通過WORKDIR設(shè)置工作目錄后,Dockerfile中其后的命令RUN、CMD、ENTRYPOINT、ADD、COPY等命令都會(huì)在該目錄下執(zhí)行。在使用docker run運(yùn)行容器時(shí),可以通過-w參數(shù)覆蓋構(gòu)建時(shí)所設(shè)置的工作目錄。
       
      USER:指定運(yùn)行容器時(shí)的用戶名或 UID,后續(xù)的 RUN 也會(huì)使用指定用戶。使用USER指定用戶時(shí),可以使用用戶名、UID或GID,或是兩者的組合。當(dāng)服務(wù)不需要管理員權(quán)限時(shí),可以通過該命令指定運(yùn)行用戶。并且可以在之前創(chuàng)建所需要的用戶
      格式:
        USER user
        USER user:group
        USER uid
        USER uid:gid
        USER user:gid
        USER uid:group
       示例:
            USER www
       注:
        使用USER指定用戶后,Dockerfile中其后的命令RUN、CMD、ENTRYPOINT都將使用該用戶。鏡像構(gòu)建完成后,通過docker run運(yùn)行容器時(shí),可以通過-u參數(shù)來覆蓋所指定的用戶。
       
      ARG:用于指定傳遞給構(gòu)建運(yùn)行時(shí)的變量
      格式:
          ARG <name>[=<default value>]
      示例:
          ARG site
          ARG build_user=www
       
      ONBUILD:用于設(shè)置鏡像觸發(fā)器
      格式:
        ONBUILD [INSTRUCTION]
      示例:
        ONBUILD ADD . /app/src
        ONBUILD RUN /usr/local/bin/python-build --dir /app/src
      注:
        當(dāng)所構(gòu)建的鏡像被用做其它鏡像的基礎(chǔ)鏡像,該鏡像中的觸發(fā)器將會(huì)被鑰觸發(fā)
       
      posted @ 2020-07-06 23:15  Elton丶  閱讀(255)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 亚洲成av人最新无码不卡短片| 亚洲欧美高清在线精品一区二区| 高清自拍亚洲精品二区| 欧洲亚洲精品免费二区| 精品国产一国产二国产三| 人妻少妇精品无码专区二区| 日本中文字幕在线播放| 狠狠久久五月综合色和啪| 中文无码人妻有码人妻中文字幕| 香港日本三级亚洲三级| 日韩精品一区二区三区久| 国产v亚洲v天堂a无码| 激情文学一区二区国产区| 石狮市| 一区二区三区岛国av毛片| 日本午夜精品一区二区三区电影| 亚洲欧美日韩愉拍自拍美利坚| 韩国无码av片在线观看| 米奇影院888奇米色99在线| 少妇激情一区二区三区视频| 久久久久国精品产熟女久色| 亚洲美女厕所偷拍美女尿尿| 亚洲国产精品成人无码区| 国产尤物精品自在拍视频首页| 夜夜爽77777妓女免费看| 久久久国产精品VA麻豆| 久久国产精品老女人| 五月丁香色综合久久4438| 精品一区二区三区日韩版| 成人午夜大片免费看爽爽爽| 亚洲高清最新AV网站| 日韩国产成人精品视频| 国产精品人成视频免费国产| 四虎在线永久免费看精品| 国产精品中文字幕视频| 午夜福利看片在线观看| 激情综合五月丁香亚洲| 国产男女猛烈无遮挡免费视频网址| 亚洲av片在线免费观看| 色av综合av综合无码网站| 亚洲天码中文字幕第一页|