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

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

    • 分享

      Docker鏡像與容器的常用操作

       行者花雕 2022-06-20 發(fā)布于北京

       

      Docker鏡像加速配置;Docker鏡像常用操作;Dcoker容器常用操作。

      鏡像加速器

      國(guó)內(nèi)從 Docker Hub 拉取鏡像有時(shí)會(huì)遇到困難,此時(shí)可以配置鏡像加速器。國(guó)內(nèi)很多云服務(wù)商都提供了國(guó)內(nèi)加速器服務(wù),例如:

      1 網(wǎng)易云加速器 https://hub-mirror.c.163.com
      2 阿里云加速器(需登錄賬號(hào)獲取): https://cr.console.aliyun.com/cn-hangzhou/mirrors

      國(guó)內(nèi)各大云服務(wù)商均提供了 Docker 鏡像加速服務(wù),建議根據(jù)運(yùn)行 Docker 的云平臺(tái)選擇對(duì)應(yīng)的鏡像加速服務(wù),具體請(qǐng)參考官方文檔。

      在CentOS7系統(tǒng),請(qǐng)?jiān)?/etc/docker/daemon.json 中寫(xiě)入如下內(nèi)容(如果文件不存在請(qǐng)新建該文件)

      1 [root@docker01 ~]# vim /etc/docker/daemon.json
      2 {
      3   "registry-mirrors": [
      4     "https://hub-mirror.c.163.com"
      5   ]
      6 }

      注意,一定要保證該文件符合 json 規(guī)范,否則 Docker 將不能啟動(dòng)。

      之后重新啟動(dòng)服務(wù)。

      1 systemctl daemon-reload
      2 systemctl restart docker

       

      檢查加速器是否生效

      執(zhí)行如下命令,如果從結(jié)果中看到了如下內(nèi)容,說(shuō)明配置成功。

      1 [root@docker01 ~]# docker info  # 顯示整個(gè)系統(tǒng)的信息
      2 ………………
      3 Registry Mirrors:
      4  https://hub-mirror.c.163.com/
      5 Live Restore Enabled: false
      6 
      7 WARNING: bridge-nf-call-iptables is disabled
      8 WARNING: bridge-nf-call-ip6tables is disabled

       

      Docker鏡像操作

      說(shuō)明:Docker 運(yùn)行容器前需要本地存在對(duì)應(yīng)的鏡像,如果本地不存在該鏡像,Docker 會(huì)從鏡像倉(cāng)庫(kù)下載該鏡像。

      search搜索鏡像

      1 [root@docker01 ~]# docker search centos
      2 NAME                     DESCRIPTION                                     STARS  OFFICIAL   AUTOMATED
      3 centos                   The official build of CentOS.                   5934   [OK]       
      4 ansible/centos7-ansible  Ansible on Centos7                              128               [OK]
      5 jdeathe/centos-ssh       OpenSSH / Supervisor / EPEL/IUS/SCL Repos - …  114               [OK]
      6 consol/centos-xfce-vnc   Centos container with "headless" VNC session…  114               [OK]
      7 centos/mysql-57-centos7  MySQL 5.7 SQL database server                   74                
      8 …………

       

       

      pull從鏡像中心下載鏡像

      1 # 格式:docker pull <image_name>:<tag> ,如果沒(méi)有tag,默認(rèn)為 latest
      2 [root@docker01 ~]# docker pull centos:latest
      3 latest: Pulling from library/centos
      4 8a29a15cefae: Pull complete 
      5 Digest: sha256:fe8d824220415eed5477b63addf40fb06c3b049404242b31982106ac204f6700
      6 Status: Downloaded newer image for centos:latest

       

      push推送鏡像到鏡像中心

      1 格式:docker push <image_name>:<tag>
      2 [root@docker01 ~]# docker push registry.cn-beijing.aliyuncs.com/google_registry/centos:latest

      說(shuō)明:如果有疑問(wèn)可先忽略,后面搭建私有倉(cāng)庫(kù)文章會(huì)再次說(shuō)明的。

       

      images列出鏡像

      1 [root@docker01 ~]# docker images  # 或者 docker image ls
      2 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      3 centos              latest              470671670cac        2 months ago        237MB

       

      save鏡像保存到本地

      1 # 格式:docker save -o <保存的文件名>  <image_name:tag>|<image_id>
      2 [root@docker01 docker_test]# docker save -o centos_docker_20200413.tar centos:latest 
      3 [root@docker01 docker_test]# ll -h
      4 total 234M
      5 -rw------- 1 root root 234M Apr 13 16:21 centos_docker_20200413.tar

       

      rmi刪除鏡像

      1 # 格式:docker rmi <image_name:tag>|<image_id>
      2 [root@docker01 docker_test]# docker images
      3 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      4 centos              latest              470671670cac        2 months ago        237MB
      5 [root@docker01 docker_test]# docker rmi 470671670cac  # 刪除鏡像 
      6 [root@docker01 docker_test]# docker images
      7 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

       

      load導(dǎo)入鏡像

      1 # 格式:docker load -i <image_file>
      2 [root@docker01 docker_test]# docker load -i centos_docker_20200413.tar
      3 [root@docker01 docker_test]# docker images 
      4 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      5 centos              latest              470671670cac        2 months ago        237MB

       

      tag標(biāo)簽

      1 # 格式:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
      2 [root@docker01 docker_test]# docker images 
      3 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      4 centos              latest              470671670cac        2 months ago        237MB 
      5 [root@docker01 docker_test]# docker tag centos:latest centos:20200413
      6 [root@docker01 docker_test]# docker images 
      7 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
      8 centos              20200413            470671670cac        2 months ago        237MB
      9 centos              latest              470671670cac        2 months ago        237MB

      使用:根據(jù)需要給docker鏡像打一個(gè)新標(biāo)簽。

       

      info顯示整個(gè)系統(tǒng)的信息

       1 [root@docker01 ~]# docker info 
       2 Containers: 0
       3  Running: 0
       4  Paused: 0
       5  Stopped: 0
       6 Images: 1
       7 Server Version: 18.06.3-ce
       8 Storage Driver: overlay2
       9  Backing Filesystem: xfs
      10  Supports d_type: true
      11  Native Overlay Diff: true
      12 Logging Driver: json-file
      13 Cgroup Driver: cgroupfs
      14 Plugins:
      15  Volume: local
      16  Network: bridge host macvlan null overlay
      17  Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
      18 Swarm: inactive
      19 Runtimes: runc
      20 Default Runtime: runc
      21 Init Binary: docker-init
      22 containerd version: 468a545b9edcd5932818eb9de8e72413e616e86e
      23 runc version: a592beb5bc4c4092b1b1bac971afed27687340c5
      24 init version: fec3683
      25 Security Options:
      26  seccomp
      27   Profile: default
      28 Kernel Version: 3.10.0-1062.el7.x86_64
      29 Operating System: CentOS Linux 7 (Core)
      30 OSType: linux
      31 Architecture: x86_64
      32 CPUs: 2
      33 Total Memory: 1.777GiB
      34 Name: docker01
      35 ID: XIHU:XNWU:II7A:YXUH:BOZ3:JSGG:J3P2:CU2Z:5QHA:5Y64:PZ4V:62DI
      36 Docker Root Dir: /var/lib/docker
      37 Debug Mode (client): false
      38 Debug Mode (server): false
      39 Registry: https://index.docker.io/v1/
      40 Labels:
      41 Experimental: false
      42 Insecure Registries:
      43  127.0.0.0/8
      44 Registry Mirrors:
      45  https://hub-mirror.c.163.com/
      46 Live Restore Enabled: false
      47 
      48 WARNING: bridge-nf-call-iptables is disabled
      49 WARNING: bridge-nf-call-ip6tables is disabled

       

      system鏡像體積查看

      另外一個(gè)需要注意的問(wèn)題是,docker image ls 列表中的鏡像體積總和并非是所有鏡像實(shí)際硬盤(pán)消耗。由于 Docker 鏡像是多層存儲(chǔ)結(jié)構(gòu),并且可以繼承、復(fù)用,因此不同鏡像可能會(huì)因?yàn)槭褂孟嗤幕A(chǔ)鏡像,從而擁有共同的層。由于 Docker 使用 Union FS,相同的層只需要保存一份即可,因此實(shí)際鏡像硬盤(pán)占用空間很可能要比這個(gè)列表鏡像大小的總和要小的多。

      可以通過(guò)以下命令來(lái)便捷的查看鏡像、容器、數(shù)據(jù)卷所占用的空間。

      1 [root@docker01 docker_test]# docker system df
      2 TYPE                TOTAL               ACTIVE              SIZE                RECLAIMABLE
      3 Images              2                   0                   440.1MB             440.1MB (100%)
      4 Containers          0                   0                   0B                  0B
      5 Local Volumes       0                   0                   0B                  0B
      6 Build Cache         0                   0                   0B                  0B

       

      inspect顯示鏡像或容器的詳情

      1 # 格式:docker inspect <鏡像ID>|<鏡像名>|<容器ID>|<容器名>
      2 [root@docker01 ~]# docker inspect centos:latest  # 顯示鏡像詳情
      3 [root@docker01 ~]# docker inspect 67ba647b0151   # 顯示容器詳情

       

      Docker容器操作

      run創(chuàng)建容器

      1 # 格式:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
      2 [root@docker01 ~]# docker run -i -t --name centos01 centos:latest /bin/bash
      3 [root@f7c4da3cecad /]#       # 此時(shí)已進(jìn)入docker容器
      4 [root@f7c4da3cecad /]# exit  # 退出容器,此時(shí)容器會(huì)停止【正常情況】
      5 [root@docker01 ~]#

      參數(shù)說(shuō)明:

      1 -i  交互式操作
      2 -t  分配一個(gè)終端
      3 --name  運(yùn)行的容器名稱(chēng)
      4 最后的/bin/bash  要執(zhí)行的命令

       

      ps查看容器

      1 [root@docker01 ~]# docker ps  # 查看正在運(yùn)行的容器
      2 CONTAINER ID   IMAGE           COMMAND        CREATED        STATUS                    PORTS    NAMES
      3 [root@docker01 ~]# 
      4 [root@docker01 ~]# docker ps -a  # 查看所有容器,包括運(yùn)行和停止的
      5 CONTAINER ID   IMAGE           COMMAND        CREATED        STATUS                    PORTS    NAMES
      6 f7c4da3cecad   centos:latest   "/bin/bash"    4 minutes ago  Exited (0) 36 seconds ago          centos01

       

      start啟動(dòng)容器

      1 # 格式:docker start <容器名>|<容器ID>
      2 [root@docker01 ~]# docker ps -a
      3 CONTAINER ID        IMAGE               COMMAND      CREATED         STATUS                     PORTS   NAMES
      4 f7c4da3cecad        centos:latest       "/bin/bash"  10 minutes ago  Exited (0) 3 seconds ago           centos01
      5 [root@docker01 ~]# docker start f7c4da3cecad  # 啟動(dòng)容器
      6 f7c4da3cecad
      7 [root@docker01 ~]# docker ps 
      8 CONTAINER ID        IMAGE               COMMAND      CREATED         STATUS        PORTS   NAMES
      9 f7c4da3cecad        centos:latest       "/bin/bash"  10 minutes ago  Up 3 seconds          centos01

       

      restart重啟容器

      1 # 格式:docker restart <容器名>|<容器ID>
      2 [root@docker01 ~]# docker ps 
      3 CONTAINER ID        IMAGE               COMMAND       CREATED          STATUS         PORTS    NAMES
      4 f7c4da3cecad        centos:latest       "/bin/bash"   15 minutes ago   Up 4 minutes            centos01
      5 [root@docker01 ~]# docker restart f7c4da3cecad  # 重啟容器
      6 f7c4da3cecad
      7 [root@docker01 ~]# docker ps 
      8 CONTAINER ID        IMAGE               COMMAND       CREATED          STATUS         PORTS    NAMES
      9 f7c4da3cecad        centos:latest       "/bin/bash"   15 minutes ago   Up 1 second             centos01

       

      stop停止容器

      1 # 格式:docker stop <容器名>|<容器ID>
      2 [root@docker01 ~]# docker ps 
      3 CONTAINER ID        IMAGE           COMMAND       CREATED       STATUS         PORTS     NAMES
      4 f7c4da3cecad        centos:latest   "/bin/bash"   3 hours ago   Up 4 minutes             centos01
      5 [root@docker01 ~]# docker stop f7c4da3cecad  # 停止容器
      6 f7c4da3cecad
      7 [root@docker01 ~]# docker ps -a
      8 CONTAINER ID        IMAGE             COMMAND       CREATED       STATUS                      PORTS    NAMES
      9 f7c4da3cecad        centos:latest   "/bin/bash"   3 hours ago   Exited (0) 10 seconds ago            centos01

       

      rm刪除容器

      1 # 格式:docker rm <容器名>|<容器ID>
      2 [root@docker01 ~]# docker ps -a
      3 CONTAINER ID        IMAGE             COMMAND       CREATED       STATUS                      PORTS    NAMES
      4 f7c4da3cecad        centos:latest   "/bin/bash"   3 hours ago   Exited (0) 10 seconds ago            centos01
      5 [root@docker01 ~]# docker rm f7c4da3cecad   # 刪除已停止的容器
      6 f7c4da3cecad

      說(shuō)明:如果要強(qiáng)制刪除正在運(yùn)行的容器,使用 docker rm -f <容器ID>。不過(guò)生產(chǎn)環(huán)境不建議強(qiáng)制刪除容器,防止誤刪除。

       

      rename容器重命名

      1 # 格式:docker rename CONTAINER NEW_NAME
      2 [root@docker01 ~]# docker ps 
      3 CONTAINER ID        IMAGE          COMMAND       CREATED              STATUS              PORTS    NAMES
      4 67ba647b0151        centos:latest  "/bin/bash"   About a minute ago   Up About a minute            centos01
      5 [root@docker01 ~]# docker rename 67ba647b0151 centos001   # 容器重命名
      6 [root@docker01 ~]# docker ps 
      7 CONTAINER ID        IMAGE          COMMAND       CREATED             STATUS              PORTS    NAMES
      8 67ba647b0151        centos:latest  "/bin/bash"   2 minutes ago       Up About a minute            centos001

       

      exec進(jìn)入容器或在運(yùn)行容器中執(zhí)行命令

      進(jìn)入容器
      1 [root@docker01 ~]# docker exec -it f7c4da3cecad bash
      2 [root@f7c4da3cecad /]#

      說(shuō)明:不建議通過(guò) docker attach 方式進(jìn)入容器。

       

      在容器外讓指定容器執(zhí)行命令
      1 # 不要有 -t 選項(xiàng),因?yàn)椴恍枰峙?tty 終端
      2 [root@docker01 ~]# docker exec -i f7c4da3cecad bash -c "ps -ef"
      3 UID         PID   PPID  C STIME TTY          TIME CMD
      4 root          1      0  0 10:12 pts/0    00:00:00 /bin/bash
      5 root         78      0  0 10:19 ?        00:00:00 ps -ef

       

      cp復(fù)制文件或目錄

      將宿主機(jī)文件或目錄,拷貝到docker容器中
       1 [root@docker01 ~]# docker exec -i 67ba647b0151 bash -c "ls -l /root"
       2 total 12
       3 -rw------- 1 root root 2366 Jan 13 21:49 anaconda-ks.cfg
       4 -rw-r--r-- 1 root root  435 Jan 13 21:49 anaconda-post.log
       5 -rw------- 1 root root 2026 Jan 13 21:49 original-ks.cfg
       6 [root@docker01 ~]# 
       7 [root@docker01 ~]# docker cp /usr/bin/telnet 67ba647b0151:/root/     # 拷貝文件
       8 [root@docker01 ~]# docker cp /root/basedOptimi 67ba647b0151:/root/   # 拷貝目錄
       9 [root@docker01 ~]# docker exec -i 67ba647b0151 bash -c "ls -l /root"
      10 total 112
      11 -rw------- 1 root root   2366 Jan 13 21:49 anaconda-ks.cfg
      12 -rw-r--r-- 1 root root    435 Jan 13 21:49 anaconda-post.log
      13 drwxr-xr-x 2 root root     30 Mar  8 19:59 basedOptimi
      14 -rw------- 1 root root   2026 Jan 13 21:49 original-ks.cfg
      15 -rwxr-xr-x 1 root root 101776 Aug  3  2017 telnet

       

      將docker容器中的文件或目錄,拷貝到宿主機(jī)中

      1 [root@docker01 ~]# docker cp 67ba647b0151:/root/original-ks.cfg /root/   # 拷貝文件
      2 [root@docker01 ~]# docker cp 67ba647b0151:/etc /root/                    # 拷貝目錄

       

       

      logs查看容器日志

      1 [root@docker01 ~]# docker ps 
      2 CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
      3 f7c4da3cecad        centos:latest       "/bin/bash"         3 hours ago         Up 1 second                             centos01
      4 # 獲取容器日志
      5 [root@docker01 ~]# docker logs -f --tail 500 f7c4da3cecad
      6 …………

      參數(shù)說(shuō)明:

      1 -f  持續(xù)打印輸出
      2 --tail 500  打印日志最后的500行

       

      stats容器使用資源統(tǒng)計(jì)

      可用于監(jiān)控

      1 [root@docker01 ~]# docker stats <容器ID>|<容器名稱(chēng)>   # 持續(xù)監(jiān)控
      2 [root@docker01 ~]# docker stats --no-stream <容器ID>|<容器名稱(chēng)>  # 不是持續(xù)監(jiān)控,只顯示第一次返回的結(jié)果

       

       

      top容器中運(yùn)行的進(jìn)程

      1 [root@docker01 ~]# docker ps 
      2 CONTAINER ID   IMAGE           COMMAND       CREATED       STATUS       PORTS   NAMES
      3 67ba647b0151   centos:latest   "/bin/bash"   2 hours ago   Up 2 hours           centos001 
      4 # 查看容器中運(yùn)行的進(jìn)程信息
      5 [root@docker01 ~]# docker top 67ba647b0151
      6 UID    PID    PPID  C  STIME  TTY    TIME      CMD
      7 root   3302   3285  0  21:13  pts/0  00:00:00  /bin/bash

       

      port容器映射特定端口

      容器映射端口有:隨機(jī)端口映射、指定單個(gè)端口映射、指定多個(gè)端口映射

      獲取鏡像
      1 [root@docker01 ~]# docker pull registry.cn-beijing.aliyuncs.com/google_registry/nginx:1.17
      2 [root@docker01 ~]# docker tag ed21b7a8aee9 nginx:1.17
      3 [root@docker01 ~]# docker images | grep 'nginx'
      4 nginx                                                    1.17   ed21b7a8aee9   2 weeks ago   127MB
      5 registry.cn-beijing.aliyuncs.com/google_registry/nginx   1.17   ed21b7a8aee9   2 weeks ago   127MB

       

      映射隨機(jī)端口

      1 [root@docker01 ~]# docker run -d -P --name nginx01 nginx:1.17
      2 e90c9faaf8e3387920dd9763bf5c7df9dd17856673868bb512cec78741ff71dc
      3 [root@docker01 ~]# docker ps 
      4 CONTAINER ID    IMAGE        COMMAND                  CREATED         STATUS         PORTS                  NAMES
      5 e90c9faaf8e3    nginx:1.17   "nginx -g 'daemon of…"   3 seconds ago   Up 2 seconds   0.0.0.0:1025->80/tcp   nginx01

      說(shuō)明:

      0.0.0.0:1025->80/tcp  前面為宿主機(jī)端口,后面為容器端口

       

      容器日志:

      [root@docker01 ~]# docker logs -f --tail 500 nginx01

       

       

      瀏覽器訪(fǎng)問(wèn):

       

      映射單個(gè)指定端口

      1 [root@docker01 ~]# docker run -d -p 81:80 --name nginx02 nginx:1.17
      2 04478222f0dc981883f25504164be3af7da49248886cee7386ccc89b80cc57a1
      3 [root@docker01 ~]# docker ps | grep 'nginx02'
      4 04478222f0dc   nginx:1.17   "nginx -g 'daemon of…"   29 seconds ago   Up 28 seconds   0.0.0.0:81->80/tcp   nginx02

       

      瀏覽器訪(fǎng)問(wèn):

       

      映射多個(gè)指定端口

      1 [root@docker01 ~]# docker run -d -p 85:80 -p 445:443 --name nginx03 nginx:1.17
      2 5886e52ff8e934bc827c8d7753a532b9062bd045799d0658a008e371e6ecd09c
      3 [root@docker01 ~]# docker ps | grep 'nginx03'
      4 5886e52ff8e9   nginx:1.17   "nginx -g 'daemon of…"   12 seconds ago   Up 11 seconds   0.0.0.0:85->80/tcp, 0.0.0.0:445->443/tcp   nginx03

       

      推薦閱讀

      1、 Docker簡(jiǎn)介與安裝

      完畢!

       


      ———END———
      如果覺(jué)得不錯(cuò)就關(guān)注下唄 (-^O^-) !

       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(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)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多