乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      docker常用命令和docker-compose.yml常用參數(shù)詳解

       ala咪s 2019-09-03

      Docker基礎(chǔ)命令 

      docker exec –it 鏡像 /bin/bash 進(jìn)入容器 
      docker logs 容器id 查看容器運(yùn)行日志 
      docker version ## 顯示 Docker 版本和信息 
      docker info ##輸出docker應(yīng)用的信息 
      docker inspect # 檢查 task 或 container 
      docker swarm命令 
      docker swarm leave –force # 從管理端關(guān)閉 swarm 的一個(gè)節(jié)點(diǎn) 
      docker swarm init 
      docker swarm join –-token :2377 
      docker pull 鏡像

      執(zhí)行 Docker 鏡像 
      docker run hello-world 
      docker build -t friendlyhello . # 使用當(dāng)前目錄下的 Dockerfile 創(chuàng)建鏡像 
      docker run -p 4000:80 friendlyhello # 運(yùn)行鏡像 “friendlyname” mapping port 4000 to 80 
      docker run -d -p 4000:80 friendlyhello # 后臺(tái)運(yùn)行鏡像,detached 模式 
      docker login # 用 Docker 憑證在當(dāng)前 CLI 會(huì)話中登錄 
      docker tag username/repository:tag # 給要上傳到 registry 的鏡像打標(biāo)記 
      docker push username/repository:tag # 將已經(jīng)打標(biāo)記的鏡像上傳到 registry 
      docker run username/repository:tag # 從 registry 運(yùn)行鏡像

      docker清理命令 
      docker image prune 命令可以清理未使用的鏡像。通過 -a 標(biāo)志可以刪除沒有被已有容器使用的所有鏡像,默認(rèn)情況下,系統(tǒng)會(huì)提示是否繼續(xù)。要繞過提示,請(qǐng)使用 -f 或 –force 標(biāo)志。 
      $ docker image prune -a –filter “until=24h”

      下面的命令只會(huì)刪除沒有 keep 標(biāo)簽的卷: 
      $ docker volume prune –filter “l(fā)abel!=keep”

      下面的命令只會(huì)刪除 24 小時(shí)前創(chuàng)建的網(wǎng)絡(luò): 
      $ docker network prune –filter “until=24h”

      docker system prune 命令是修剪鏡像、容器和網(wǎng)絡(luò)的快捷方式

      Docker的image命令 
      docker image ls 
      docker image ls -a # 列出所有鏡像 
      docker image rm # 刪除指定鏡像 
      docker image rm $(docker image ls -a -q) # 刪除所有鏡像

      Docker的container命令 
      列出 Docker 容器(運(yùn)行中,所有的,quit 模式下所有的) 
      docker container ls 
      docker container ls –all 
      docker container ls -a # 列出所有的容器,包括不運(yùn)行的 
      docker container ls -a –q 
      docker container stop # 友好的關(guān)閉指定容器 
      docker container kill # 強(qiáng)制關(guān)閉指定容器 
      docker container rm # 刪除指定容器 
      docker container rm $(docker container ls -a -q) # 刪除所有容器 
      docker container –help 
      docker的service命令 
      docker service ls # 列出運(yùn)行的、關(guān)聯(lián)到應(yīng)用的 service 
      docker service ps # 列出關(guān)聯(lián)到應(yīng)用的任務(wù) task 
      docker的stack命令 
      docker stack ls # 列出 stacks 或應(yīng)用 
      docker stack deploy -c # 運(yùn)行指定的 Compose 文件 
      docker stack rm # 關(guān)閉應(yīng)用 
      docker-machine命令 
      docker-machine create –driver virtualbox myvm1 # 創(chuàng)建虛擬機(jī)(Mac, Win7, Linux) 
      docker-machine create -d hyperv –hyperv-virtual-switch “myswitch” myvm1 # Win10 
      docker-machine env myvm1 # 查看節(jié)點(diǎn)基本信息 
      docker-machine ssh myvm1 “docker node ls” # 列出 swarm 中的節(jié)點(diǎn) 
      docker-machine ssh myvm1 “docker node inspect ” # 檢查節(jié)點(diǎn) 
      docker-machine ssh myvm1 “docker swarm join-token -q worker” # 查看加入 swarm 的 token 
      docker-machine ssh myvm1 # 打開虛擬機(jī)的 SSH 會(huì)話,”exit” 退出 
      docker node ls # 在 swarm manager 登錄后,列出 swarm 中的節(jié)點(diǎn) 
      docker-machine ssh myvm2 “docker swarm leave” # 使 worker 退出 swarm 
      docker-machine ssh myvm1 “docker swarm leave -f” # 使 master 退出 swarm,關(guān)閉 swarm 
      docker-machine ls # 列出虛擬機(jī),星號(hào) 表明當(dāng)前會(huì)話在與哪臺(tái)虛擬機(jī)交流 
      docker-machine start myvm1 # 重啟停止運(yùn)行的虛擬機(jī) 
      docker-machine env myvm1 # 查看 myvm1 的環(huán)境變量和命令eval $(docker-machine env myvm1) # Mac 命令,連接 shell 到 myvm1 
      & “C:\Program Files\Docker\Docker\Resources\bin\docker-machine.exe” env myvm1 | Invoke-Expression # Windows 命令,連接 shell 到 myvm1

      DockerCompose參數(shù)詳解 
      build 
      build 可以指定包含構(gòu)建上下文的路徑: 
      1. version: ‘2’ 
      2. services: 
      3. webapp: 
      4. build: ./dir 
      或者,作為一個(gè)對(duì)象,該對(duì)象具有上下文路徑和指定的Dockerfile文件以及args參數(shù)值: 
      1. version: ‘2’ 
      2. services: 
      3. webapp: 
      4. build: 
      5. context: ./dir 
      6. dockerfile: Dockerfile-alternate 
      7. args: 
      8. buildno: 1 
      webapp服務(wù)將會(huì)通過./dir目錄下的Dockerfile-alternate文件構(gòu)建容器鏡像。 
      如果你同時(shí)指定image和build,則compose會(huì)通過build指定的目錄構(gòu)建容器鏡像,而構(gòu)建的鏡像名為image中指定的鏡像名和標(biāo)簽。 
      1. build: ./dir 
      2. image: webapp:tag 
      這將由./dir構(gòu)建的名為webapp和標(biāo)記為tag的鏡像。 
      context 
      包含Dockerfile文件的目錄路徑,或者是git倉庫的URL。 
      當(dāng)提供的值是相對(duì)路徑時(shí),它被解釋為相對(duì)于當(dāng)前compose文件的位置。 該目錄也是發(fā)送到Docker守護(hù)程序構(gòu)建鏡像的上下文。 
      dockerfile 
      備用Docker文件。Compose將使用備用文件來構(gòu)建。 還必須指定構(gòu)建路徑。 
      args 
      添加構(gòu)建鏡像的參數(shù),環(huán)境變量只能在構(gòu)建過程中訪問。 
      首先,在Dockerfile中指定要使用的參數(shù): 
      1. ARG buildno 
      2. ARG password 
      3. 
      4. RUN echo “Build number: buildno5.RUNscript?requiring?password.shbuildno”5.RUNscript?requiring?password.sh“password” 
      然后在args鍵下指定參數(shù)。 你可以傳遞映射或列表: 
      1. build: 
      2. context: . 
      3. args: 
      4. buildno: 1 
      5. password: secret 
      6. 
      7. build: 
      8. context: . 
      9. args: 
      10. - buildno=1 
      11. - password=secret 
      ** 注意:YAML布爾值(true,false,yes,no,on,off)必須用引號(hào)括起來,以便解析器將它們解釋為字符串。 
      image 
      指定啟動(dòng)容器的鏡像,可以是鏡像倉庫/標(biāo)簽或者鏡像id(或者id的前一部分) 
      1. image: redis 
      2. image: ubuntu:14.04 
      3. image: tutum/influxdb 
      4. image: example-registry.com:4000/postgresql 
      5. image: a4bc65fd 
      如果鏡像不存在,Compose將嘗試從官方鏡像倉庫將其pull下來,如果你還指定了build,在這種情況下,它將使用指定的build選項(xiàng)構(gòu)建它,并使用image指定的名字和標(biāo)記對(duì)其進(jìn)行標(biāo)記。 
      container_name 
      指定一個(gè)自定義容器名稱,而不是生成的默認(rèn)名稱。 
      container_name: my-web-container 
      由于Docker容器名稱必須是唯一的,因此如果指定了自定義名稱,則無法將服務(wù)擴(kuò)展到多個(gè)容器。 
      volumes 
      卷掛載路徑設(shè)置??梢栽O(shè)置宿主機(jī)路徑 (HOST:CONTAINER) 或加上訪問模式 (HOST:CONTAINER:ro),掛載數(shù)據(jù)卷的默認(rèn)權(quán)限是讀寫(rw),可以通過ro指定為只讀。 
      你可以在主機(jī)上掛載相對(duì)路徑,該路徑將相對(duì)于當(dāng)前正在使用的Compose配置文件的目錄進(jìn)行擴(kuò)展。 相對(duì)路徑應(yīng)始終以 . 或者 .. 開始。 
      1. volumes: 
      2. # 只需指定一個(gè)路徑,讓引擎創(chuàng)建一個(gè)卷 
      3. - /var/lib/mysql 
      4. 
      5. # 指定絕對(duì)路徑映射 
      6. - /opt/data:/var/lib/mysql 
      7. 
      8. # 相對(duì)于當(dāng)前compose文件的相對(duì)路徑 
      9. - ./cache:/tmp/cache 
      10. 
      11. # 用戶家目錄相對(duì)路徑 
      12. - ~/configs:/etc/configs/:ro 
      13. 
      14. # 命名卷 
      15. - datavolume:/var/lib/mysql 
      · 15 
      但是,如果要跨多個(gè)服務(wù)并重用掛載卷,請(qǐng)?jiān)陧敿?jí)volumes關(guān)鍵字中命名掛在卷,但是并不強(qiáng)制,如下的示例亦有重用掛載卷的功能,但是不提倡。 
      1. version: “3” 
      2. 
      3. services: 
      4. web1: 
      5. build: ./web/ 
      6. volumes: 
      7. - ../code:/opt/web/code 
      8. web2: 
      9. build: ./web/ 
      10. volumes: 
      11. - ../code:/opt/web/code 
      12. 
      ** 注意:通過頂級(jí)volumes定義一個(gè)掛載卷,并從每個(gè)服務(wù)的卷列表中引用它, 這會(huì)替換早期版本的Compose文件格式中volumes_from。 
      1. version: “3” 
      2. 
      3. services: 
      4. db: 
      5. image: db 
      6. volumes: 
      7. - data-volume:/var/lib/db 
      8. backup: 
      9. image: backup-service 
      10. volumes: 
      11. - data-volume:/var/lib/backup/data 
      12. 
      13. volumes: 
      14. data-volume: 
      command 
      覆蓋容器啟動(dòng)后默認(rèn)執(zhí)行的命令。 
      command: bundle exec thin -p 3000 
      該命令也可以是一個(gè)類似于dockerfile的列表: 
      command: [“bundle”, “exec”, “thin”, “-p”, “3000”] 
      links 
      鏈接到另一個(gè)服務(wù)中的容器。 請(qǐng)指定服務(wù)名稱和鏈接別名(SERVICE:ALIAS),或者僅指定服務(wù)名稱。 
      1. web: 
      2. links: 
      3. - db 
      4. - db:database 
      5. - redis 
      在當(dāng)前的web服務(wù)的容器中可以通過鏈接的db服務(wù)的別名database訪問db容器中的數(shù)據(jù)庫應(yīng)用,如果沒有指定別名,則可直接使用服務(wù)名訪問。 
      鏈接不需要啟用服務(wù)進(jìn)行通信 - 默認(rèn)情況下,任何服務(wù)都可以以該服務(wù)的名稱到達(dá)任何其他服務(wù)。 (實(shí)際是通過設(shè)置/etc/hosts的域名解析,從而實(shí)現(xiàn)容器間的通信。故可以像在應(yīng)用中使用localhost一樣使用服務(wù)的別名鏈接其他容器的服務(wù),前提是多個(gè)服務(wù)容器在一個(gè)網(wǎng)絡(luò)中可路由聯(lián)通) 
      links也可以起到和depends_on相似的功能,即定義服務(wù)之間的依賴關(guān)系,從而確定服務(wù)啟動(dòng)的順序。 
      external_links 
      鏈接到docker-compose.yml 外部的容器,甚至并非 Compose 管理的容器。參數(shù)格式跟 links 類似。 
      1. external_links: 
      2. - redis_1 
      3. - project_db_1:mysql 
      4. - project_db_1:postgresql 
      expose 
      暴露端口,但不映射到宿主機(jī),只被連接的服務(wù)訪問。 
      僅可以指定內(nèi)部端口為參數(shù) 
      1. expose: 
      2. - “3000” 
      3. - “8000” 
      ports 
      暴露端口信息。 
      常用的簡(jiǎn)單格式:使用宿主:容器 (HOST:CONTAINER)格式或者僅僅指定容器的端口(宿主將會(huì)隨機(jī)選擇端口)都可以。 
      ** 注意:當(dāng)使用 HOST:CONTAINER 格式來映射端口時(shí),如果你使用的容器端口小于 60 你可能會(huì)得到錯(cuò)誤得結(jié)果,因?yàn)?YAML 將會(huì)解析 xx:yy 這種數(shù)字格式為 60 進(jìn)制。所以建議采用字符串格式。 
      簡(jiǎn)單的短格式: 
      1. ports: 
      2. - “3000” 
      3. - “3000-3005” 
      4. - “8000:8000” 
      5. - “9090-9091:8080-8081” 
      6. - “49100:22” 
      7. - “127.0.0.1:8001:8001” 
      8. - “127.0.0.1:5000-5010:5000-5010” 
      9. - “6060:6060/udp” 
      在v3.2中ports的長(zhǎng)格式的語法允許配置不能用短格式表示的附加字段。 
      長(zhǎng)格式: 
      1. ports: 
      2. - target: 80 
      3. published: 8080 
      4. protocol: tcp 
      5. mode: host 
      target:容器內(nèi)的端口 
      published:物理主機(jī)的端口 
      protocol:端口協(xié)議(tcp或udp) 
      mode:host 和ingress 兩總模式,host用于在每個(gè)節(jié)點(diǎn)上發(fā)布主機(jī)端口,ingress 用于被負(fù)載平衡的swarm模式端口。 
      restart 
      no是默認(rèn)的重啟策略,在任何情況下都不會(huì)重啟容器。 指定為always時(shí),容器總是重新啟動(dòng)。 如果退出代碼指示出現(xiàn)故障錯(cuò)誤,則on-failure將重新啟動(dòng)容器。 
      1. restart: “no” 
      2. restart: always 
      3. restart: on-failure 
      4. restart: unless-stopped 
      environment 
      添加環(huán)境變量。 你可以使用數(shù)組或字典兩種形式。 任何布爾值; true,false,yes,no需要用引號(hào)括起來,以確保它們不被YML解析器轉(zhuǎn)換為True或False。 
      只給定名稱的變量會(huì)自動(dòng)獲取它在 Compose 主機(jī)上的值,可以用來防止泄露不必要的數(shù)據(jù)。 
      1. environment: 
      2. RACK_ENV: development 
      3. SHOW: ‘true’ 
      4. SESSION_SECRET: 
      5. 
      6. environment: 
      7. - RACK_ENV=development 
      8. - SHOW=true 
      9. - SESSION_SECRET 
      ** 注意:如果你的服務(wù)指定了build選項(xiàng),那么在構(gòu)建過程中通過environment定義的環(huán)境變量將不會(huì)起作用。 將使用build的args子選項(xiàng)來定義構(gòu)建時(shí)的環(huán)境變量。 
      pid 
      將PID模式設(shè)置為主機(jī)PID模式。 這就打開了容器與主機(jī)操作系統(tǒng)之間的共享PID地址空間。 使用此標(biāo)志啟動(dòng)的容器將能夠訪問和操作裸機(jī)的命名空間中的其他容器,反之亦然。即打開該選項(xiàng)的容器可以相互通過進(jìn)程 ID 來訪問和操作。 
      pid: “host” 
      dns 
      配置 DNS 服務(wù)器??梢允且粋€(gè)值,也可以是一個(gè)列表。 
      1. dns: 8.8.8.8 
      2. dns: 
      3. - 8.8.8.8 
      4. - 9.9.9.9

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多