Docker基础命令操作

1)拉取一个镜像

1 [root@zabbix-c48 ~]# docker pull centos:7  #这边我已经有centos:7镜像,如果不加7tag会默认啦取latest
2 7: Pulling from library/centos
3 Digest: sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c
4 Status: Image is up to date for centos:7  #查看镜像
5 [root@zabbix-c48 ~]# docker images
6 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
7 centos              7                   9f38484d220f        4 months ago        202MB
8 [root@zabbix-c48 ~]# 

2)查询镜像作者信息

  1 [root@zabbix-c48 ~]# docker inspect centos:7 #返回的是一个json格式的消息,如果只想要其中一项内容可以用参数-f来指定 docker inspect -f {{".Architecture"}}
  2 [
  3     {
  4         "Id": "sha256:9f38484d220fa527b1fb19747638497179500a1bed8bf0498eb788229229e6e1",
  5         "RepoTags": [
  6             "centos:7"
  7         ],
  8         "RepoDigests": [
  9             "centos@sha256:a799dd8a2ded4a83484bbae769d97655392b3f86533ceb7dd96bbac929809f3c",
 10             "centos@sha256:b5e66c4651870a1ad435cd75922fe2cb943c9e973a9673822d1414824a1d0475"
 11         ],
 12         "Parent": "",
 13         "Comment": "",
 14         "Created": "2019-03-14T21:19:53.361167852Z",
 15         "Container": "958baf5225f586da9c70a21e911a0a875402dd22d83133d78b3b3aa6130e7892",
 16         "ContainerConfig": {
 17             "Hostname": "958baf5225f5",
 18             "Domainname": "",
 19             "User": "",
 20             "AttachStdin": false,
 21             "AttachStdout": false,
 22             "AttachStderr": false,
 23             "Tty": false,
 24             "OpenStdin": false,
 25             "StdinOnce": false,
 26             "Env": [
 27                 "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 28             ],
 29             "Cmd": [
 30                 "/bin/sh",
 31                 "-c",
 32                 "#(nop) ",
 33                 "CMD [\"/bin/bash\"]"
 34             ],
 35             "ArgsEscaped": true,
 36             "Image": "sha256:294e8d8145287e70f07328cc09d840fad8980b801223321b983442f097aff0d8",
 37             "Volumes": null,
 38             "WorkingDir": "",
 39             "Entrypoint": null,
 40             "OnBuild": null,
 41             "Labels": {
 42                 "org.label-schema.build-date": "20190305",
 43                 "org.label-schema.license": "GPLv2",
 44                 "org.label-schema.name": "CentOS Base Image",
 45                 "org.label-schema.schema-version": "1.0",
 46                 "org.label-schema.vendor": "CentOS"
 47             }
 48         },
 49         "DockerVersion": "18.06.1-ce",
 50         "Author": "",
 51         "Config": {
 52             "Hostname": "",
 53             "Domainname": "",
 54             "User": "",
 55             "AttachStdin": false,
 56             "AttachStdout": false,
 57             "AttachStderr": false,
 58             "Tty": false,
 59             "OpenStdin": false,
 60             "StdinOnce": false,
 61             "Env": [
 62                 "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 63             ],
 64             "Cmd": [
 65                 "/bin/bash"
 66             ],
 67             "ArgsEscaped": true,
 68             "Image": "sha256:294e8d8145287e70f07328cc09d840fad8980b801223321b983442f097aff0d8",
 69             "Volumes": null,
 70             "WorkingDir": "",
 71             "Entrypoint": null,
 72             "OnBuild": null,
 73             "Labels": {
 74                 "org.label-schema.build-date": "20190305",
 75                 "org.label-schema.license": "GPLv2",
 76                 "org.label-schema.name": "CentOS Base Image",
 77                 "org.label-schema.schema-version": "1.0",
 78                 "org.label-schema.vendor": "CentOS"
 79             }
 80         },
 81         "Architecture": "amd64",
 82         "Os": "linux",
 83         "Size": 201782942,
 84         "VirtualSize": 201782942,
 85         "GraphDriver": {
 86             "Data": {
 87                 "MergedDir": "/var/lib/docker/overlay2/2a7fc5b3c66b309dfc6a803a507395eacc8730d04a03dfa9ab61c30cedc3a441/merged",
 88                 "UpperDir": "/var/lib/docker/overlay2/2a7fc5b3c66b309dfc6a803a507395eacc8730d04a03dfa9ab61c30cedc3a441/diff",
 89                 "WorkDir": "/var/lib/docker/overlay2/2a7fc5b3c66b309dfc6a803a507395eacc8730d04a03dfa9ab61c30cedc3a441/work"
 90             },
 91             "Name": "overlay2"
 92         },
 93         "RootFS": {
 94             "Type": "layers",
 95             "Layers": [
 96                 "sha256:d69483a6face4499acb974449d1303591fcbb5cdce5420f36f8a6607bda11854"
 97             ]
 98         },
 99         "Metadata": {
100             "LastTagTime": "0001-01-01T00:00:00Z"
101         }
102     }
103 ]
104 [root@zabbix-c48 ~]# 

3)启动一个镜像

1 [root@zabbix-s41 docker]# docker run -it centos:7 /bin/bash
2 [root@f05102192941 /]# touch demo
3 [root@f05102192941 /]# exit

 4)查询docker search

 #search搜索命令 automated 显示自动创建的镜像,默认为否-s指定星级

 1 [root@zabbix-s41 docker]# docker search --automated -s 3 nginx
 2 Flag --automated has been deprecated, use --filter=is-automated=true instead
 3 Flag --stars has been deprecated, use --filter=stars=3 instead
 4 NAME                          DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
 5 jwilder/nginx-proxy           Automated Nginx reverse proxy for docker con…   1628                                    [OK]
 6 richarvey/nginx-php-fpm       Container running Nginx + PHP-FPM capable of…   726                                     [OK]
 7 bitnami/nginx                 Bitnami nginx Docker Image                      69                                      [OK]
 8 tiangolo/nginx-rtmp           Docker image with Nginx using the nginx-rtmp…   49                                      [OK]
 9 nginxdemos/hello              NGINX webserver that serves a simple page co…   18                                      [OK]
10 jlesage/nginx-proxy-manager   Docker container for Nginx Proxy Manager        17                                      [OK]
11 schmunk42/nginx-redirect      A very simple container to redirect HTTP tra…   17                                      [OK]
12 blacklabelops/nginx           Dockerized Nginx Reverse Proxy Server.          12                                      [OK]
13 webdevops/nginx               Nginx container                                 8                                       [OK]
14 sophos/nginx-vts-exporter     Simple server that scrapes Nginx vts stats a…   5                                       [OK]
15 1science/nginx                Nginx Docker images that include Consul Temp…   4                                       [OK]
16 mailu/nginx                   Mailu nginx frontend                            3                                       [OK]
17 [root@zabbix-s41 docker]# 

5)删除镜像

 1 [root@zabbix-s41 docker]# docker images
 2 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
 3 demo                latest              ab22aa56722d        2 hours ago         202MB
 4 centos              7                   9f38484d220f        4 months ago        202MB
 5 [root@zabbix-s41 docker]# docker rmi demo:latest
 6 Untagged: demo:latest
 7 Deleted: sha256:ab22aa56722d98a1d13774ec887019a863b597a64bea78d117e9d99761cde6da
 8 Deleted: sha256:679828c74ff7bb7531b6300ac56622661e5e590132e30b10dcb038e7fd350985
 9 [root@zabbix-s41 docker]# docker images
10 REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
11 centos              7                   9f38484d220f        4 months ago        202MB
12 [root@zabbix-s41 docker]# 

注释:docker rmi IMAGE/ID,如果一个镜像的id一样的,tag不一样,那么删除tag只会删除一个tag删除不了这个镜像,如果根据镜像的id删除则会打印出删除的各层信息

6)创建镜像

  创建镜像的有三种方法

  • 基于已有的镜像的容器创建
  • 基于本地模板导入
  • 基于Dockerfile创建

命令格式:docker commit [options] container [repository[:tag]]#-a 作者信息-c 提交的时候指定dockerfile指令-m 提交信息 -p提交时暂停容器运行

6.1)基于镜像容器创建

 1 [root@zabbix-s41 docker]# docker run -it centos:7 /bin/bash
 2 [root@3c652d20d0ad /]# touch demo
 3 [root@3c652d20d0ad /]# exit
 4 exit
 5 [root@zabbix-s41 docker]# docker commit -m "add a new file" -a "king"  3c652d20d0ad demo:0.1
 6 sha256:2d61e43d1460e91ae66cc0762be35732b061e48d7d95bd5102ad67270a26f382
 7 [root@zabbix-s41 docker]# docker images
 8 REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
 9 demo                0.1                 070ef0155428        4 seconds ago        202MB
10 demo                latest              2d61e43d1460        About a minute ago   202MB
11 centos              7                   9f38484d220f        4 months ago         202MB
12 [root@zabbix-s41 docker]# 

6.2)基于本地模块导入

 直接从一个操作系统模板文件导入一个镜像,用docker import [options] file |url| -[repository[:tag]],要直接导入一个镜像,可以用openVZ提供的模板来创建

7)存出和载入镜像

docker save -o centos.tar centos:7
docker load --input centos.tar 或者docker load < centos.tar

 

版权声明:本文为liang-io原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/liang-io/p/11200099.html