成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

docker命令詳解

olle / 2779人閱讀

摘要:說明方括號(hào)表示里面的參數(shù)可省任何查詢結(jié)果都可以通過進(jìn)行篩選注釋符命令解釋必填參數(shù)系統(tǒng)安裝容器安裝依賴安裝容器服務(wù)容器版本倉(cāng)庫倉(cāng)庫是集中存放鏡像的地方公有倉(cāng)庫私有倉(cāng)庫注冊(cè)服務(wù)器存放倉(cāng)庫的具體服務(wù)器公有倉(cāng)庫輸入用戶信息登錄到本地保存用戶的

說明 :

[]          方括號(hào)表示 => 里面的參數(shù)可省
grep name   任何查詢結(jié)果都可以通過 grep 進(jìn)行篩選
#           注釋符
()          命令解釋
<>          必填參數(shù)

系統(tǒng) :

安裝容器 :
          yum install -y epel-relase # 安裝依賴
          yum install docker-io    # 安裝docker
容器服務(wù) : systemctl <[start,stop,restart]> docker.service | service docker start
容器版本 : docker version

倉(cāng)庫 : 倉(cāng)庫是集中存放鏡像的地方[公有倉(cāng)庫,私有倉(cāng)庫] (注冊(cè)服務(wù)器:存放倉(cāng)庫的具體服務(wù)器)

公有倉(cāng)庫 : Docker Hub => https://hub.docker.com/
          docker login 輸入用戶信息登錄到 => Docker Hub => 本地 .dockercfg保存用戶的認(rèn)證信息
          docker search # 不需要登錄
                        # 官方的鏡像一般為 基礎(chǔ)鏡像或者根鏡像 => docker.io/mysql
                        # 個(gè)人用戶的鏡像一般為 用戶名/鏡像名稱 => sokminyo/mysql-1
          docker pull www.self.com/mysql # 指定網(wǎng)站拉取鏡像
自動(dòng)創(chuàng)建 : 用戶通過 Docker Hub指定跟蹤一個(gè)目標(biāo)網(wǎng)站上的項(xiàng)目,若有提交,則自動(dòng)執(zhí)行創(chuàng)建
創(chuàng)建和使用私有庫 :
        創(chuàng)建 : docker run -d -p 5000:5000 registry  # 通過 registry鏡像 來創(chuàng)建私有庫,默認(rèn)容器地址為 /tmp/registry,最好先拉取 docker pull registry
        創(chuàng)建指定 : docker run -d -p 5000:5000 -v /data/nginx/html:/tmp/registry registry # 指定路徑創(chuàng)建
        打上標(biāo)簽 :   docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG] => docker tag <33fbbf4a24e5> 127.0.0.1:5000/tt
        上傳鏡像 : docker push 127.0.0.1:5000/tt

鏡像 :

獲取鏡像 : docker pull <名稱>[:TAG(標(biāo)簽)]  =>  docker pull php
查看鏡像 : docker images [名稱]    =>  docker images
查看詳情 : docker inspect <名稱或Id>     =>  docker inspect php [-f(指定內(nèi)容),...]  docker inspect php -f {{".Id"}}
搜索鏡像 : docker search [OPTIONS] TERM  => docker search php:7.1-fpm
刪除鏡像 : docker rmi <名稱>         =>  docker rmi [-f(強(qiáng)制刪除)] php:7.1-fpm   # 正在運(yùn)行的鏡像無法刪除
存出鏡像 : docker save -o <存出的文件名.格式(php.tar)> <鏡像名稱或Id> =>  docker save -o php.tar 894f8d826f6a
載入鏡像 : docker load --input php.tar(文件名稱)

容器 :

新建容器 : docker create -it <鏡像名稱或ID(php:7.1-fpm)> # 默認(rèn)情況下為不啟動(dòng)
新建并啟動(dòng)容器 : docker run
查看容器 : docker ps # 查看當(dāng)前運(yùn)行的容器  docker ps -a # 查看所有容器
運(yùn)行容器 : docker run <容器名orID>
停止容器 : docker stop <容器名orID>
開啟容器 : docker start <容器名orID>
終止容器 : docker kill <容器名orID>
重啟容器 : docker restart <容器名orID>
容器日志 : docker logs <容器名orID>
容器端口 : docker port <容器名orID>
刪除容器 : docker rm <容器名orID>
進(jìn)入容器 : docker exec -it <容器名orID> /bin/bash
導(dǎo)出容器 : docker export <容器名orID> >文件名.格式   => docker export mysql >mysql.tar
導(dǎo)入容器 : docker import 文件名.格式

容器中 :

安裝vi|vim : apt-get install -y vi|vim
更新apt : apt-get update # 安裝其他功能時(shí),更新-安裝-更新

數(shù)據(jù)卷 : 供容器使用的特殊目錄 volume(卷)

創(chuàng)建 : 在運(yùn)行的時(shí)候加上 -v 可以使用多個(gè)
       docker run -d -p -v /data/nginx/html:/usr/share/nginx/html (將本機(jī)的文件映射到容器中的文件)
       docker run -p 8080:80 --name test_nginx -v /data/nginx/html:/usr/share/nginx/html -d docker.io/nginx
               -p      8000:80 把容器80端口映射到服務(wù)8000
               --name  設(shè)置名字
               -d      后臺(tái)運(yùn)行|守護(hù)
               -v /data/nginx/html:/usr/share/nginx/html (將本機(jī)的文件映射到容器中的文件)
       more :
               -a stdin : 指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型 , 可選 STDIN/STDOUT/STDERR 三項(xiàng)
               
               -d : 后臺(tái)運(yùn)行容器 , 并返回容器ID
               
               -i : 以交互模式運(yùn)行容器 , 通常與 -t 同時(shí)使用
               
               -p : : 端口映射  
               
               -t : 為容器重新分配一個(gè)偽輸入終端 , 通常與 -i 同時(shí)使用
               
               --name  : 為容器指定一個(gè)名稱
               
               --dns 8.8.8.8 : 指定容器使用的DNS服務(wù)器 , 默認(rèn)和宿主一致
               
               --dns-search example.com: 指定容器DNS搜索域名 , 默認(rèn)和宿主一致
               
               -h "mars": 指定容器的hostname
               
               -e username="ritchie": 設(shè)置環(huán)境變量
               
               --env-file=[]: 從指定文件讀入環(huán)境變量
               
               --cpuset="0-2" or --cpuset="0,1,2": 綁定容器到指定CPU運(yùn)行
               
               -m :設(shè)置容器使用內(nèi)存最大值
               
               --net="bridge": 指定容器的網(wǎng)絡(luò)連接類型 , 支持 bridge/host/none/container: 四種類型
               
               --link=[]: 添加鏈接到另一個(gè)容器
               
               --expose=[]: 開放一個(gè)端口或一組端口
               
數(shù)據(jù)卷容器 : 容器之間共享數(shù)據(jù)(掛載在同一個(gè)文件夾中)
       docker run -it -v /dbData --name dbData php  # 刪除卷 docker rm -v dbData
       docker run -it --volumes-from dbData --name db1 php
       docker run -it --volumes-from dbData --name db2 php
數(shù)據(jù)卷遷移數(shù)據(jù) : 備份和恢復(fù)(自行了解)

端口映射實(shí)現(xiàn)訪問容器 :

  端口映射 : docker run -p 端口:端口
  自定義名稱 : docker run --name 名稱
  容器互聯(lián) : docker run --link 容器名稱
  docker公開連接 : 環(huán)境變量(env) 或 更新 /etc/hosts文件

使用Dockerfile創(chuàng)建鏡像 : 文本格式的配置文件

  指令 : 一般格式為 instruction(指令) arguments(參數(shù)) , 指令包括 from , maintainer(維護(hù)者) , run , cmd 等 .
  組成部分(一般而言) : 基礎(chǔ)鏡像信息 , 維護(hù)者信息 , 鏡像操作指令 , 容器操作指令
      eg :
            # 第一行必須指定基于的基礎(chǔ)鏡像
            # FROM [:]
            FROM php:7.1

            # 維護(hù)者信息
            # MAINTAINER 
            MAINTAINER huangzhhui 

            # ENV   指定一個(gè)環(huán)境變量 , 可供 RUN 命令使用 , 并在容器中保持運(yùn)行 
            ENV PHPREDIS_VERSION 4.0.0
            ENV HIREDIS_VERSION 0.13.3
            ENV SWOOLE_VERSION 4.0.3

            # 鏡像操作指令(可以有多個(gè))
            # RUN   在shell終端中運(yùn)行命令,即 /bin/sh -C
            # 或者
            # RUN ["executalbe","param1","param2"] 這里的[]非說明中的 , 使用 exec 執(zhí)行
            RUN curl -sS https://getcomposer.org/installer | php 
                && mv composer.phar /usr/local/bin/composer 
                && composer self-update --clean-backups

            # 容器暴露的端口號(hào)
            # EXPOSE  [...]
            EXPOSE 80 22 443

            # 容器操作指令
            ......

            # (只能有一個(gè),如果有多個(gè)只會(huì)執(zhí)行一個(gè))
            # CMD ["executalbe","param1","param2"] 這里的[]非說明中的 , 使用 exec 執(zhí)行 (推薦)
            # 或者
            # CMD command param1 param2 在 /bin/sh 中執(zhí)行
            # 或者
            # CMD ["param1","param2"] 提供給 entrypoint 的默認(rèn)參數(shù)
            CMD /usr/sbin/nginx
  其他指令 :
      ADD   : 復(fù)制指定的 src 到容器中的 dest
      COPY   : 復(fù)制本地的 src 到容器 dest
      ENTRYPOINT : 配置容器啟動(dòng)后執(zhí)行的命令 ,只能有一個(gè) , 如果有多個(gè)只會(huì)執(zhí)行一個(gè)(最后一個(gè)生效)
                   1 : ENTRYPOINT command param1 param2 在 /bin/sh 中執(zhí)行
                    or
                   2 : ENTRYPOINT ["param1","param2"]
      VOLUME : VOLUME ["/data"] # 創(chuàng)建一個(gè)可以從本地主機(jī)或其他容器掛載的掛載點(diǎn) , 一般用于存放數(shù)據(jù)和保持?jǐn)?shù)據(jù)
      USER : USER daemon # 指定運(yùn)行容器是的用戶名或UID
      WORKDIR : WORKDIR /path/to/workdir # 為后續(xù) RUN , CMD , ENTRYPOINT 等指令配置工作目錄 . 可多個(gè) 如果后續(xù)路徑為相對(duì)路徑,則會(huì)基于之前的指令
                WORKDIR /a
                WORKDIR b
                WORKDIR c
                RUN pwd   # /a/b/c
      ONBUILD : ONBUILD [INSTRUCTION]
  創(chuàng)建鏡像 : 完成 dockerFile 后 , 可通過 docker build [option] 來創(chuàng)建鏡像
            可配置 .dockerignore 文件 , 來忽略 docker 路徑下的 目錄和文件

常見問題 :

docker組沒有 : could not change group /var/run/docker.sock to docker: group docker not found
         uname -r 查看內(nèi)核
         Why:SELinux不支持 overlay2 graph driver
         Solve :
                vi /etc/sysconfig/docker,在docker里禁用selinux-enabled=false,

掛載失敗 : /usr/bin/docker-current: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/b35b5d54a4bb354ff5bbf4b8906db3acce819339c8c9bf378d9e388d9dedbed7-init/merged: invalid argument.
           Solve :
                  rm -rf /var/lib/docker  # 會(huì)刪除docker images
                  vi /etc/sysconfig/docker-storage   # 指定  DOCKER_STORAGE_OPTIONS="--storage-driver overlay"
                  vi  /etc/sysconfig/docker # 刪除 --selinux-enabled
                  

圖片介紹 :

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/27730.html

相關(guān)文章

  • awk在刪除鏡像過程中的用法及說明

    摘要:實(shí)際上,認(rèn)為文本文件都是結(jié)構(gòu)化的,它將每一個(gè)輸入行定義為一個(gè)記錄,行中的每個(gè)字符串定義為一個(gè)域段,域和域之間使用分割符分割。 看到一篇Docker 技巧:刪除 Docker 容器和鏡像其中提到刪除標(biāo)簽為none的鏡像的方法,其中用到了awk,就去查了下,下面舉例說明: docker rmi $(docker images | awk $1 == && $2 == {print $3...

    lentoo 評(píng)論0 收藏0
  • 誰用光了磁盤?Docker System命令詳解

    摘要:用了一段時(shí)間后,會(huì)發(fā)現(xiàn)它占用了不少硬盤空間。為了避免構(gòu)建鏡像時(shí)使用緩存,我在命令之前添加了一行命令。引入了命令,類似于上的命令,用于查看的磁盤使用情況。這些鏡像占用了超過磁盤空間。現(xiàn)在,已使用的磁盤空間又變成了。 譯者按: Docker鏡像,容器,數(shù)據(jù)卷以及網(wǎng)絡(luò)都會(huì)占用主機(jī)的磁盤空間,這樣的話,磁盤很容易就會(huì)被用完。這篇博客介紹了一個(gè)簡(jiǎn)單的解決方案 - Docker System命令。...

    mdluo 評(píng)論0 收藏0
  • docker命令詳解

    摘要:與命令不同,使用命令只能創(chuàng)建容器而并不啟動(dòng)選項(xiàng)鏡像名稱命令參數(shù)將標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸出標(biāo)準(zhǔn)錯(cuò)誤鏈接到容器向容器的添加主機(jī)名與地址設(shè)置資源分配。輸入命令退出后,容器不會(huì)停止,而會(huì)繼續(xù)運(yùn)行。命令命令用于以格式顯示容器與鏡像的詳細(xì) docker命令詳解 前言 從技術(shù)老大那里聽說了docker,閑下來之后就簡(jiǎn)單了解了一下,發(fā)現(xiàn)真的是一個(gè)好用的不得了的工具。遂周末去圖書館找了下相關(guān)資料,學(xué)習(xí)下姿勢(shì)。說...

    mayaohua 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<