设为首页 收藏本站
查看: 971|回复: 0

[经验分享] Docker镜像、容器管理

[复制链接]
发表于 2019-2-21 07:50:39 | 显示全部楼层 |阅读模式
  镜像操作
  镜像(image)是Docker三大核心概念中最为重要的,自Docker诞生之日起“镜像”就是相关社区最为热门的关键词。
Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器的仓库),用户也可以通过配置,使用自定义的镜像仓库。
  1、镜像搜索

  通过docker search image_name命令搜索镜像。通常较为常用的参数有

--automated=true|false:仅显示自动创建的镜像,默认为否;
--no-trunc=true|false:输出信息不截断显示,默认为否;
-s, --stars=X:根据镜像的星级进行搜索  比如搜索centos镜像,星级为10或者以上。从左到右,显示依次为:镜像名、描述、星级、是否为官方、是否为自动创建。
  2、拉取镜像

  通过docker pull images_name:tag即可拉取需要的镜像。默认的tag(标签是latest)
  如拉取一个httpd的镜像(这里我不指定tag标签,默认就是latest,会显示拉取的进度)

  执行docker images可以查看到现有的镜像(里面有刚刚获取的httpd镜像)


  3、查看镜像信息
  通过docker inspect images_name可以查看某个镜像的信息
[root@centos7f ~]# docker inspect httpd
[
    {
        "Id": "sha256:11426a19f1a28d6491041aef1e1a7a2dcaa188d0165ae495de7d8fc1bf3e164f",
        "RepoTags": [
            "httpd:latest"
        ],
        "RepoDigests": [
            "httpd@sha256:8c84e065bdf72b4909bd55a348d5e91fe265e08d6b28ed9104bfdcac9206dcc8"
        ],
        "Parent": "",
        "Comment": "",
        "Created": "2018-07-31T16:49:48.488308431Z",
        "Container": "8d9716b97c51721cce2f7450eea9622ec9d97c8760098550f7f1cf8cddd94061",
        "ContainerConfig": {
            "Hostname": "8d9716b97c51",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "HTTPD_PREFIX=/usr/local/apache2",
                "NGHTTP2_VERSION=1.18.1-1",
                "OPENSSL_VERSION=1.0.2l-1~bpo8+1",
                "HTTPD_VERSION=2.4.34",
                "HTTPD_SHA256=fa53c95631febb08a9de41fd2864cfff815cf62d9306723ab0d4b8d7aa1638f0",
                "HTTPD_PATCHES=",
                "APACHE_DIST_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename= \thttps://www-us.apache.org/dist/ \thttps://www.apache.org/dist/ \thttps://archive.apache.org/dist/"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"httpd-foreground\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:c237180f28409d28401f1f634e784c940bb89d15e4de5db35ca5f320aed423b2",
            "Volumes": null,
            "WorkingDir": "/usr/local/apache2",
            "Entrypoint": null,
            "OnBuild": [],
            "Labels": {}
        },
        "DockerVersion": "17.06.2-ce",
        "Author": "",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "80/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/apache2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "HTTPD_PREFIX=/usr/local/apache2",
                "NGHTTP2_VERSION=1.18.1-1",
                "OPENSSL_VERSION=1.0.2l-1~bpo8+1",
                "HTTPD_VERSION=2.4.34",
                "HTTPD_SHA256=fa53c95631febb08a9de41fd2864cfff815cf62d9306723ab0d4b8d7aa1638f0",
                "HTTPD_PATCHES=",
                "APACHE_DIST_URLS=https://www.apache.org/dyn/closer.cgi?action=download&filename= \thttps://www-us.apache.org/dist/ \thttps://www.apache.org/dist/ \thttps://archive.apache.org/dist/"
            ],
            "Cmd": [
                "httpd-foreground"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:c237180f28409d28401f1f634e784c940bb89d15e4de5db35ca5f320aed423b2",
            "Volumes": null,
            "WorkingDir": "/usr/local/apache2",
            "Entrypoint": null,
            "OnBuild": [],
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 177559099,
        "VirtualSize": 177559099,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/e8a7d936a146f00002daad342da591eb4ff3c52b94361f62fe160949668df94f/diff:/var/lib/docker/overlay2/0497e7522cf60cc840d184f1f75a88e45fccedeb50f9685c72ba2f4e0334843b/diff:/var/lib/docker/overlay2/a71b868c28231bfcf73126a5df47157182b0414243f282a198770a22eea3713a/diff:/var/lib/docker/overlay2/e243b6e4b235b79969aff4fca1ba8521d1c7fc505c77d7d07d7ab52e95d960da/diff:/var/lib/docker/overlay2/dfa918fa4630779aaa319c0c833c9bf6b40d237e77a32b3e79574b843b78bff1/diff:/var/lib/docker/overlay2/5c0c1f37210838240c1e6aaa7a0ac2abee872450025d89df4a719cd2aeea21f4/diff",
                "MergedDir": "/var/lib/docker/overlay2/91f6e0aabf12bcdd5628447fabc919f0039f5e7bd7153382cad6ef413ccd5ed0/merged",
                "UpperDir": "/var/lib/docker/overlay2/91f6e0aabf12bcdd5628447fabc919f0039f5e7bd7153382cad6ef413ccd5ed0/diff",
                "WorkDir": "/var/lib/docker/overlay2/91f6e0aabf12bcdd5628447fabc919f0039f5e7bd7153382cad6ef413ccd5ed0/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:dd1eb1fd7e08dc9bda0cbea31a89196c453cb218bea80ce64eeb19fadc98d262",
                "sha256:f6ff89d562dc5b83d425e3a8768a580f4f7cde78f4b73e1f0adb3fd417c0a846",
                "sha256:611673f0c323fcac4130e893672e60d6b53a6e7c5b5890139f734d7f6e9dd6bc",
                "sha256:74e07a1c6b076bad4d917bde97391a7a565409445ace712ff6f26ae4f04b5b33",
                "sha256:94519f51ae61e88862ce4cb142d17a2bf4cf2f4aa36b286e0933f423c1939cff",
                "sha256:dcaeabd68175a017bd22be178535663ba9576eca061067f252039523527f424b",
                "sha256:28eaf9ee6b41f5f72eecbef3f09474a496bcb5cfefd718a1865cf74733a6def0"
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]  注意:docker inspect输出的是json格式的信息

  如:下面两条命令输出了httpd镜像开放了80端口、使用的是amd64的架构

  4、删除镜像
  使用docker rmi images_name命令

  第一条命令没有执行成功,因为基于这个镜像上存在一个容器。通过-f选项可强制删除这个镜像,强制删除后,容器也将被删除,所以-f选项需谨慎使用。
  5、创建一个镜像
  commit方法:可根据一个容器创建一个镜像
  下图中我首先启动了一个镜像,然后使用commit方法创建一个镜像叫httpd_server、tag是01。通过docker images可以查看到我创建的镜像
  commit的参数:
  -a指定创建镜像的author(作者)
  -m提交消息

  基于模板导入的方法
  这里有很多docker的模板供下载http://download.openvz.org/template/precreated/(下载速度很慢,不是很建议这么做)
  下载完了,可以执行
cat 模板 | docker import - images_name:tag  这样你就能通过模板创建了一个镜像。

  书写Dockerfile创建模板(建议做法)
  详细操作请关注后面的博客
  6、存出和载入镜像
  存出
  通过docker save命令可以存出一个镜像,通过这个命令可以将同样的环境给开发、运维、测试使用,避免了一些因为工作环境带了的麻烦
  
  载入
  为了验证效果我将原有的jdeathe/centos-ssh删除了,然后载入刚刚存出的centos.tar。载入的命令为docker load < images.tar

  7、上传镜像到docker hub
  首先你需要注册有个docker hub的账号
  注册地址https://hub.docker.com
  执行docker login即可登录

  想要上传到你的docker hub账户内,首先要给镜像打标签。记住标签打的是自己的hub账号名,然后跟上仓库名,tag。如果你的docker hub没有这个仓库,会自动创建该仓库。

  然后直接push打了标签的镜像即可

  这里给大家看一下结果


  容器操作

  查看你的容器
  docker ps命令可以查看你当前运行的容器,而docker ps -a或者docker ps --all可以查看所有容器

  创建容器
  docker create images_name:tag可以创建一个容器。这里创建容器会随机给一个容器名称,很不利于管理,但是注意在创建容器时docker会返还给你一个容器的ID。
  
  启动容器
  docker start container_name/container_id
  新建的同时启动容器

  执行docker run images_name可以根据一个镜像创建一个容器并运行。
  下图中,我用run命令基于jdeathe/centos-ssh运行了一个容器,然后让容器执行了echo &quot;hello,I'm running&quot;命令。然后容器会自动停止运行
  

  守护态运行容器

  我们在使用docker容器的时候大多时候都会让docker一直运行提供应用服务的,很少会让他运行执行一个命令就直接关闭。docker run -itd可以让容器在docker的回台运行,提供服务。
  

  进入/连接容器

  通过上面的命令让容器在后台运行了,所以连接容器执行命令是需要的
  通过docker exec -it container_name /bin/bash 命令即可连接到正在运行的容器


  显示容器的信息

[root@centos7f ~]# docker inspect 002b96bb30a9
[
    {
        &quot;Id&quot;: &quot;002b96bb30a92e73b71b9430e9ddef168ed0e098a5a7bb460fb04b4ca0286c3b&quot;,
        &quot;Created&quot;: &quot;2018-08-18T13:31:18.963206183Z&quot;,
        &quot;Path&quot;: &quot;/bin/bash&quot;,
        &quot;Args&quot;: [],
        &quot;State&quot;: {
            &quot;Status&quot;: &quot;running&quot;,
            &quot;Running&quot;: true,
            &quot;Paused&quot;: false,
            &quot;Restarting&quot;: false,
            &quot;OOMKilled&quot;: false,
            &quot;Dead&quot;: false,
            &quot;Pid&quot;: 114840,
            &quot;ExitCode&quot;: 0,
            &quot;Error&quot;: &quot;&quot;,
            &quot;StartedAt&quot;: &quot;2018-08-18T13:31:19.305350229Z&quot;,
            &quot;FinishedAt&quot;: &quot;0001-01-01T00:00:00Z&quot;,
            &quot;Health&quot;: {
                &quot;Status&quot;: &quot;unhealthy&quot;,
                &quot;FailingStreak&quot;: 39,
                &quot;Log&quot;: [
                    {
                        &quot;Start&quot;: &quot;2018-08-18T21:31:40.692311294+08:00&quot;,
                        &quot;End&quot;: &quot;2018-08-18T21:31:40.780482004+08:00&quot;,
                        &quot;ExitCode&quot;: 1,
                        &quot;Output&quot;: &quot;&quot;
                    },
                    {
                        &quot;Start&quot;: &quot;2018-08-18T21:31:41.301262289+08:00&quot;,
                        &quot;End&quot;: &quot;2018-08-18T21:31:41.388515509+08:00&quot;,
                        &quot;ExitCode&quot;: 1,
                        &quot;Output&quot;: &quot;&quot;
                    },
                    {
                        &quot;Start&quot;: &quot;2018-08-18T21:31:41.910073234+08:00&quot;,
                        &quot;End&quot;: &quot;2018-08-18T21:31:41.997176118+08:00&quot;,
                        &quot;ExitCode&quot;: 1,
                        &quot;Output&quot;: &quot;&quot;
                    },
                    {
                        &quot;Start&quot;: &quot;2018-08-18T21:31:42.518304445+08:00&quot;,
                        &quot;End&quot;: &quot;2018-08-18T21:31:42.605189606+08:00&quot;,
                        &quot;ExitCode&quot;: 1,
                        &quot;Output&quot;: &quot;&quot;
                    },
                    {
                        &quot;Start&quot;: &quot;2018-08-18T21:31:43.127178763+08:00&quot;,
                        &quot;End&quot;: &quot;2018-08-18T21:31:43.21354527+08:00&quot;,
                        &quot;ExitCode&quot;: 1,
                        &quot;Output&quot;: &quot;&quot;
                    }
                ]
            }
        },
        &quot;Image&quot;: &quot;sha256:563e45ee6e1243335785f558dbb566791e5ac5bd293aafc5c75e5b0743eaa888&quot;,
        &quot;ResolvConfPath&quot;: &quot;/var/lib/docker/containers/002b96bb30a92e73b71b9430e9ddef168ed0e098a5a7bb460fb04b4ca0286c3b/resolv.conf&quot;,
        &quot;HostnamePath&quot;: &quot;/var/lib/docker/containers/002b96bb30a92e73b71b9430e9ddef168ed0e098a5a7bb460fb04b4ca0286c3b/hostname&quot;,
        &quot;HostsPath&quot;: &quot;/var/lib/docker/containers/002b96bb30a92e73b71b9430e9ddef168ed0e098a5a7bb460fb04b4ca0286c3b/hosts&quot;,
        &quot;LogPath&quot;: &quot;/var/lib/docker/containers/002b96bb30a92e73b71b9430e9ddef168ed0e098a5a7bb460fb04b4ca0286c3b/002b96bb30a92e73b71b9430e9ddef168ed0e098a5a7bb460fb04b4ca0286c3b-json.log&quot;,
        &quot;Name&quot;: &quot;/cocky_ptolemy&quot;,
        &quot;RestartCount&quot;: 0,
        &quot;Driver&quot;: &quot;overlay2&quot;,
        &quot;Platform&quot;: &quot;linux&quot;,
        &quot;MountLabel&quot;: &quot;&quot;,
        &quot;ProcessLabel&quot;: &quot;&quot;,
        &quot;AppArmorProfile&quot;: &quot;&quot;,
        &quot;ExecIDs&quot;: [
            &quot;02039efcbf2bb4b4b8f1a88187144ef13fe3873035efe13dff00b3afcdeb1059&quot;
        ],
        &quot;HostConfig&quot;: {
            &quot;Binds&quot;: null,
            &quot;ContainerIDFile&quot;: &quot;&quot;,
            &quot;LogConfig&quot;: {
                &quot;Type&quot;: &quot;json-file&quot;,
                &quot;Config&quot;: {}
            },
            &quot;NetworkMode&quot;: &quot;default&quot;,
            &quot;PortBindings&quot;: {},
            &quot;RestartPolicy&quot;: {
                &quot;Name&quot;: &quot;no&quot;,
                &quot;MaximumRetryCount&quot;: 0
            },
            &quot;AutoRemove&quot;: false,
            &quot;VolumeDriver&quot;: &quot;&quot;,
            &quot;VolumesFrom&quot;: null,
            &quot;CapAdd&quot;: null,
            &quot;CapDrop&quot;: null,
            &quot;Dns&quot;: [],
            &quot;DnsOptions&quot;: [],
            &quot;DnsSearch&quot;: [],
            &quot;ExtraHosts&quot;: null,
            &quot;GroupAdd&quot;: null,
            &quot;IpcMode&quot;: &quot;shareable&quot;,
            &quot;Cgroup&quot;: &quot;&quot;,
            &quot;Links&quot;: null,
            &quot;OomScoreAdj&quot;: 0,
            &quot;PidMode&quot;: &quot;&quot;,
            &quot;Privileged&quot;: false,
            &quot;PublishAllPorts&quot;: false,
            &quot;ReadonlyRootfs&quot;: false,
            &quot;SecurityOpt&quot;: null,
            &quot;UTSMode&quot;: &quot;&quot;,
            &quot;UsernsMode&quot;: &quot;&quot;,
            &quot;ShmSize&quot;: 67108864,
            &quot;Runtime&quot;: &quot;runc&quot;,
            &quot;ConsoleSize&quot;: [
                0,
                0
            ],
            &quot;Isolation&quot;: &quot;&quot;,
            &quot;CpuShares&quot;: 0,
            &quot;Memory&quot;: 0,
            &quot;NanoCpus&quot;: 0,
            &quot;CgroupParent&quot;: &quot;&quot;,
            &quot;BlkioWeight&quot;: 0,
            &quot;BlkioWeightDevice&quot;: [],
            &quot;BlkioDeviceReadBps&quot;: null,
            &quot;BlkioDeviceWriteBps&quot;: null,
            &quot;BlkioDeviceReadIOps&quot;: null,
            &quot;BlkioDeviceWriteIOps&quot;: null,
            &quot;CpuPeriod&quot;: 0,
            &quot;CpuQuota&quot;: 0,
            &quot;CpuRealtimePeriod&quot;: 0,
            &quot;CpuRealtimeRuntime&quot;: 0,
            &quot;CpusetCpus&quot;: &quot;&quot;,
            &quot;CpusetMems&quot;: &quot;&quot;,
            &quot;Devices&quot;: [],
            &quot;DeviceCgroupRules&quot;: null,
            &quot;DiskQuota&quot;: 0,
            &quot;KernelMemory&quot;: 0,
            &quot;MemoryReservation&quot;: 0,
            &quot;MemorySwap&quot;: 0,
            &quot;MemorySwappiness&quot;: null,
            &quot;OomKillDisable&quot;: false,
            &quot;PidsLimit&quot;: 0,
            &quot;Ulimits&quot;: null,
            &quot;CpuCount&quot;: 0,
            &quot;CpuPercent&quot;: 0,
            &quot;IOMaximumIOps&quot;: 0,
            &quot;IOMaximumBandwidth&quot;: 0,
            &quot;MaskedPaths&quot;: [
                &quot;/proc/acpi&quot;,
                &quot;/proc/kcore&quot;,
                &quot;/proc/keys&quot;,
                &quot;/proc/latency_stats&quot;,
                &quot;/proc/timer_list&quot;,
                &quot;/proc/timer_stats&quot;,
                &quot;/proc/sched_debug&quot;,
                &quot;/proc/scsi&quot;,
                &quot;/sys/firmware&quot;
            ],
            &quot;ReadonlyPaths&quot;: [
                &quot;/proc/asound&quot;,
                &quot;/proc/bus&quot;,
                &quot;/proc/fs&quot;,
                &quot;/proc/irq&quot;,
                &quot;/proc/sys&quot;,
                &quot;/proc/sysrq-trigger&quot;
            ]
        },
        &quot;GraphDriver&quot;: {
            &quot;Data&quot;: {
                &quot;LowerDir&quot;: &quot;/var/lib/docker/overlay2/3cda10e35c399bd1362edc91b9d1ae9b27a76c198aaf9407b06fe3ebc521d200-init/diff:/var/lib/docker/overlay2/53a5b0930c3c8500d36135247d0820d14ab9249c07df1e745dc61fdf9829f638/diff:/var/lib/docker/overlay2/c8e5e31d4c76e171e86a8ac1b88d7a76798d6588b45c9eee8f9430fa0eb72681/diff:/var/lib/docker/overlay2/6b67f4e966ab81cee54f1c2b2438ca1dcb49aaa600fa724acdf9fc2b32e2ad36/diff:/var/lib/docker/overlay2/27fa1c8e7cfc942ee5df37b210ce9020ef9dc1439bd114e915183e0a8a731b6a/diff:/var/lib/docker/overlay2/5b946c5b08c008f219caa0703770d3a0bae213b07346a30d00db4c3aaaaec3d0/diff:/var/lib/docker/overlay2/2f939ad9a322e1471b17693fa89936d341a04359dbc5e2ac155e888b15b5e0e9/diff:/var/lib/docker/overlay2/f47a7753c7d4889dc79fa7edf005733d816eafcdbb60d83f6e1fcb551117e408/diff:/var/lib/docker/overlay2/e5af324a45dc5c414841328ef55e3ee3aed7738c100de81a06887c9abfae43e8/diff:/var/lib/docker/overlay2/b992eefb82fb8035c96de66a66def764b09c8a24b4b977817cf6545476a6cc07/diff:/var/lib/docker/overlay2/b97cd8b38d9f15c08bcd4c1589e8a0c8f8d617429986d61713a7b96183cdcc25/diff:/var/lib/docker/overlay2/392aa202ea4b1eb42b229082ee607d827cc42933e2507f5dc50f6d67f84f9331/diff:/var/lib/docker/overlay2/bbb0e0b3b6a8da11ffb6c7825f87f87b18cf3310a7ab1d64020abb037c6d4807/diff:/var/lib/docker/overlay2/16d8286164ccebe3b1b43d266519ced560165833e33bbc49150ff4384306e39a/diff:/var/lib/docker/overlay2/b3ba97cbdaac36a329b4349e13a7875de424b24363b39f86ac84883db5199a2d/diff&quot;,
                &quot;MergedDir&quot;: &quot;/var/lib/docker/overlay2/3cda10e35c399bd1362edc91b9d1ae9b27a76c198aaf9407b06fe3ebc521d200/merged&quot;,
                &quot;UpperDir&quot;: &quot;/var/lib/docker/overlay2/3cda10e35c399bd1362edc91b9d1ae9b27a76c198aaf9407b06fe3ebc521d200/diff&quot;,
                &quot;WorkDir&quot;: &quot;/var/lib/docker/overlay2/3cda10e35c399bd1362edc91b9d1ae9b27a76c198aaf9407b06fe3ebc521d200/work&quot;
            },
            &quot;Name&quot;: &quot;overlay2&quot;
        },
        &quot;Mounts&quot;: [],
        &quot;Config&quot;: {
            &quot;Hostname&quot;: &quot;002b96bb30a9&quot;,
            &quot;Domainname&quot;: &quot;&quot;,
            &quot;User&quot;: &quot;&quot;,
            &quot;AttachStdin&quot;: false,
            &quot;AttachStdout&quot;: false,
            &quot;AttachStderr&quot;: false,
            &quot;ExposedPorts&quot;: {
                &quot;22/tcp&quot;: {}
            },
            &quot;Tty&quot;: true,
            &quot;OpenStdin&quot;: true,
            &quot;StdinOnce&quot;: false,
            &quot;Env&quot;: [
                &quot;PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&quot;,
                &quot;SSH_AUTHORIZED_KEYS=&quot;,
                &quot;SSH_AUTOSTART_SSHD=true&quot;,
                &quot;SSH_AUTOSTART_SSHD_BOOTSTRAP=true&quot;,
                &quot;SSH_CHROOT_DIRECTORY=%h&quot;,
                &quot;SSH_INHERIT_ENVIRONMENT=false&quot;,
                &quot;SSH_SUDO=ALL=(ALL) ALL&quot;,
                &quot;SSH_USER=app-admin&quot;,
                &quot;SSH_USER_FORCE_SFTP=false&quot;,
                &quot;SSH_USER_HOME=/home/%u&quot;,
                &quot;SSH_USER_ID=500:500&quot;,
                &quot;SSH_USER_PASSWORD=&quot;,
                &quot;SSH_USER_PASSWORD_HASHED=false&quot;,
                &quot;SSH_USER_SHELL=/bin/bash&quot;
            ],
            &quot;Cmd&quot;: [
                &quot;/bin/bash&quot;
            ],
            &quot;Healthcheck&quot;: {
                &quot;Test&quot;: [
                    &quot;CMD&quot;,
                    &quot;/usr/bin/healthcheck&quot;
                ],
                &quot;Interval&quot;: 500000000,
                &quot;Timeout&quot;: 1000000000,
                &quot;Retries&quot;: 5
            },
            &quot;Image&quot;: &quot;jdeathe/centos-ssh&quot;,
            &quot;Volumes&quot;: null,
            &quot;WorkingDir&quot;: &quot;&quot;,
            &quot;Entrypoint&quot;: null,
            &quot;OnBuild&quot;: null,
            &quot;Labels&quot;: {
                &quot;build-date&quot;: &quot;20170911&quot;,
                &quot;install&quot;: &quot;docker run --rm --privileged --volume /:/media/root jdeathe/centos-ssh:2.3.2 /usr/sbin/scmi install --chroot=/media/root --name=${NAME} --tag=2.3.2 --setopt='--volume {{NAME}}.config-ssh:/etc/ssh'&quot;,
                &quot;license&quot;: &quot;GPLv2&quot;,
                &quot;maintainer&quot;: &quot;James Deathe &quot;,
                &quot;name&quot;: &quot;CentOS Base Image&quot;,
                &quot;org.deathe.description&quot;: &quot;CentOS-7 7.4.1708 x86_64 - SCL, EPEL and IUS Repositories / Supervisor / OpenSSH.&quot;,
                &quot;org.deathe.license&quot;: &quot;MIT&quot;,
                &quot;org.deathe.name&quot;: &quot;centos-ssh&quot;,
                &quot;org.deathe.release&quot;: &quot;jdeathe/centos-ssh:2.3.2&quot;,
                &quot;org.deathe.url&quot;: &quot;https://github.com/jdeathe/centos-ssh&quot;,
                &quot;org.deathe.vendor&quot;: &quot;jdeathe&quot;,
                &quot;org.deathe.version&quot;: &quot;2.3.2&quot;,
                &quot;uninstall&quot;: &quot;docker run --rm --privileged --volume /:/media/root jdeathe/centos-ssh:2.3.2 /usr/sbin/scmi uninstall --chroot=/media/root --name=${NAME} --tag=2.3.2 --setopt='--volume {{NAME}}.config-ssh:/etc/ssh'&quot;,
                &quot;vendor&quot;: &quot;CentOS&quot;
            }
        },
        &quot;NetworkSettings&quot;: {
            &quot;Bridge&quot;: &quot;&quot;,
            &quot;SandboxID&quot;: &quot;a28e769b9df4b9bba2c502c27a363bf69c0dc0127186d4287325239ef60cd2ed&quot;,
            &quot;HairpinMode&quot;: false,
            &quot;LinkLocalIPv6Address&quot;: &quot;&quot;,
            &quot;LinkLocalIPv6PrefixLen&quot;: 0,
            &quot;Ports&quot;: {
                &quot;22/tcp&quot;: null
            },
            &quot;SandboxKey&quot;: &quot;/var/run/docker/netns/a28e769b9df4&quot;,
            &quot;SecondaryIPAddresses&quot;: null,
            &quot;SecondaryIPv6Addresses&quot;: null,
            &quot;EndpointID&quot;: &quot;7458b19a71f455028c46a21b9b723639bea102556b1aa2e69a0964af2556671a&quot;,
            &quot;Gateway&quot;: &quot;172.17.0.1&quot;,
            &quot;GlobalIPv6Address&quot;: &quot;&quot;,
            &quot;GlobalIPv6PrefixLen&quot;: 0,
            &quot;IPAddress&quot;: &quot;172.17.0.2&quot;,
            &quot;IPPrefixLen&quot;: 16,
            &quot;IPv6Gateway&quot;: &quot;&quot;,
            &quot;MacAddress&quot;: &quot;02:42:ac:11:00:02&quot;,
            &quot;Networks&quot;: {
                &quot;bridge&quot;: {
                    &quot;IPAMConfig&quot;: null,
                    &quot;Links&quot;: null,
                    &quot;Aliases&quot;: null,
                    &quot;NetworkID&quot;: &quot;7d4f6f5d62534239375305abc5e17709845a269f4dbb52d36b115b559963f594&quot;,
                    &quot;EndpointID&quot;: &quot;7458b19a71f455028c46a21b9b723639bea102556b1aa2e69a0964af2556671a&quot;,
                    &quot;Gateway&quot;: &quot;172.17.0.1&quot;,
                    &quot;IPAddress&quot;: &quot;172.17.0.2&quot;,
                    &quot;IPPrefixLen&quot;: 16,
                    &quot;IPv6Gateway&quot;: &quot;&quot;,
                    &quot;GlobalIPv6Address&quot;: &quot;&quot;,
                    &quot;GlobalIPv6PrefixLen&quot;: 0,
                    &quot;MacAddress&quot;: &quot;02:42:ac:11:00:02&quot;,
                    &quot;DriverOpts&quot;: null
                }
            }
        }
    }
]  导出导入容器

  首先导出一个容器


  将容器导入到镜像

  删除一个容器

  通过docker rm container_name可以删除一个未运行的镜像,加上-f选项可以强制删除一个运行的镜像。
  
  
  常用操作方法小结

  1、docker run -itd --name centos001 jdeathe/centos-ssh /bin/bash
  该命令可以让一个容器后台运行并未这个起名叫做centos001。
  
  2、docker run -it --name centos002
  该命令可以运行一个容器,但是不是后台守护态。所以会直接连接进入该容器,可直接进行操作,直接执行exit退出该容器后,该容器就会停止。如果想退出,但是不停止容器,可以执行ctrl+p,然后紧跟着执行ctrl+q,让容器在退出后保持运行。
  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-675058-1-1.html 上篇帖子: Marathon+Mesos+Docker部署 下篇帖子: docker 的体系结构
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表