赞
踩
本环境是基于 Centos 7.8 系统构建Docker-19.03.13环境
具体构建,请参考 构建Docker-19.03.13
镜像:一个特殊的文件系统,Docker镜像就是一个只读的模板
操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空
间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系统。
Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还
包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。
镜像不包含任何动态数据,其内容在构建之后也不会被改变。
分层存储的特征还使得镜像的复用、定制变的更为容易。甚至可以用之前构建好的镜像作为基础层,然
后进一步添加新的层,以定制自己所需的内容,构建新的镜像
容器:镜像运行时的实体,Docker利用容器来运行应用。
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静
态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等 。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。前
面讲过镜像使用的是分层存储,容器也是如此。
容器在整个应用程序生命周期工作流中提供以下优点:隔离性、可移植性、灵活性、可伸缩性和可控性。 最重要的优点是可在开发和运营之间提供隔离
仓库:集中存放镜像文件的地方
镜像构建完成后,可以很容易的在当前宿主上运行,但是, 如果需要在其他服务器上使用这个镜像,我
们就需要一个集中的存储、分发镜像的服务,Docker Registry 就是这样的服务。
一个 Docker Registry 中可以包含多个仓库(Repository);每个仓库可以包含多个标签(Tag);每个标签对应一个镜像。所以说,镜像仓库是 Docker 用来集中存放镜像文件的地方,类似于我们之前常用的代码仓库。
仓库分为公开仓库( Public)和私有仓库( Private) 两种形式。
登录 docker hub 注册账号,创建公有仓库
在仓库中搜索 MySQL 镜像
命令行搜索 MySQL 镜像
[root@node01 ~]# docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 10097 [OK] mariadb MariaDB is a community-developed fork of MyS… 3705 [OK] mysql/mysql-server Optimized MySQL Server Docker images. Create… 737 [OK] percona Percona Server is a fork of the MySQL relati… 511 [OK] centos/mysql-57-centos7 MySQL 5.7 SQL database server 84 mysql/mysql-cluster Experimental MySQL Cluster Docker images. Cr… 77 centurylink/mysql Image containing mysql. Optimized to be link… 60 [OK] bitnami/mysql Bitnami MySQL Docker Image 45 [OK] deitch/mysql-backup REPLACED! Please use http://hub.docker.com/r… 41 [OK] tutum/mysql Base docker image to run a MySQL database se… 35 prom/mysqld-exporter 31 [OK] schickling/mysql-backup-s3 Backup MySQL to S3 (supports periodic backup… 30 [OK] databack/mysql-backup Back up mysql databases to... anywhere! 30 linuxserver/mysql A Mysql container, brought to you by LinuxSe… 26 centos/mysql-56-centos7 MySQL 5.6 SQL database server 20 circleci/mysql MySQL is a widely used, open-source relation… 19 mysql/mysql-router MySQL Router provides transparent routing be… 17 arey/mysql-client Run a MySQL client from a docker container 15 [OK] fradelg/mysql-cron-backup MySQL/MariaDB database backup using cron tas… 10 [OK] yloeffler/mysql-backup This image runs mysqldump to backup data usi… 7 [OK] openshift/mysql-55-centos7 DEPRECATED: A Centos7 based MySQL v5.5 image… 6 devilbox/mysql Retagged MySQL, MariaDB and PerconaDB offici… 3 ansibleplaybookbundle/mysql-apb An APB which deploys RHSCL MySQL 2 [OK] jelastic/mysql An image of the MySQL database server mainta… 1 widdpim/mysql-client Dockerized MySQL Client (5.7) including Curl… 1 [OK]
从仓库中下载镜像
#下载 busybox 镜像
[root@node01 ~]# docker pull busybox
Using default tag: latest
latest: Pulling from library/busybox
9758c28807f2: Pull complete
Digest: sha256:a9286defaba7b3a519d585ba0e37d0b2cbee74ebfe590960b0b1d6a5e97d1e1d
Status: Downloaded newer image for busybox:latest
docker.io/library/busybox:latest
#下载我们自己创建的镜像
[root@node01 ~]# docker pull wan012q/docker01
查看下载下来的镜像
[root@node01 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest f0b02e9d092d 10 days ago 1.23MB
仓库的登录、退出登录
#登录仓库
[root@node01 ~]# docker login -u wan012q -pabc200888
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
#退出容器的登录
[root@node01 ~]# docker logout
Removing login credentials for https://index.docker.io/v1/
将本地镜像上传到公有仓库
公有仓库
#镜像打标记
[root@node01 ~]# docker tag busybox:latest wan012q/docker01:busybox_v1
#查看本地现有的镜像
[root@node01 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest f0b02e9d092d 10 days ago 1.23MB
wan012q/docker01 busybox_v1 f0b02e9d092d 10 days ago 1.23MB
#上传镜像
[root@node01 ~]# docker push wan012q/docker01:busybox_v1
The push refers to repository [docker.io/wan012q/docker01]
d2421964bad1: Mounted from library/busybox
busybox_v1: digest: sha256:c9249fdf56138f0d929e2080ae98ee9cb2946f71498fc1484288e6a935b5e5bc size: 527
查看结果
在仓库中搜索nginx镜像
[root@node01 ~]# docker search nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED nginx Official build of Nginx. 13911 [OK] jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1900 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 791 [OK] linuxserver/nginx An Nginx container, brought to you by LinuxS… 127 jc21/nginx-proxy-manager Docker container for managing Nginx proxy ho… 101 tiangolo/nginx-rtmp Docker image with Nginx using the nginx-rtmp… 99 [OK] bitnami/nginx Bitnami nginx Docker Image 90 [OK] alfg/nginx-rtmp NGINX, nginx-rtmp-module and FFmpeg from sou… 77 [OK] jlesage/nginx-proxy-manager Docker container for Nginx Proxy Manager 64 [OK] nginxdemos/hello NGINX webserver that serves a simple page co… 62 [OK] nginx/nginx-ingress NGINX Ingress Controller for Kubernetes 42 privatebin/nginx-fpm-alpine PrivateBin running on an Nginx, php-fpm & Al… 39 [OK] nginxinc/nginx-unprivileged Unprivileged NGINX Dockerfiles 19 schmunk42/nginx-redirect A very simple container to redirect HTTP tra… 19 [OK] centos/nginx-112-centos7 Platform for running nginx 1.12 or building … 15 nginx/nginx-prometheus-exporter NGINX Prometheus Exporter 15 raulr/nginx-wordpress Nginx front-end for the official wordpress:f… 13 [OK] centos/nginx-18-centos7 Platform for running nginx 1.8 or building n… 13 staticfloat/nginx-certbot Opinionated setup for automatic TLS certs lo… 13 [OK] bitwarden/nginx The Bitwarden nginx web server acting as a r… 7 mailu/nginx Mailu nginx frontend 7 [OK] flashspys/nginx-static Super Lightweight Nginx Image 6 [OK] bitnami/nginx-ingress-controller Bitnami Docker Image for NGINX Ingress Contr… 6 [OK] ansibleplaybookbundle/nginx-apb An APB to deploy NGINX 1 [OK] wodby/nginx Generic nginx 1 [OK]
搜索结果解释
参数 | 说明 |
---|---|
NAME | 镜像名称 |
DESCRIPTION | 镜像说明 |
STARS | 点赞数量(受欢迎程度) |
OFFICIAL | 是否是官方的 |
AUTOMATED | 是否是自动构建的 |
拉取nginx-alpine镜像
[root@node01 ~]# docker pull nginx:1.14-alpine
1.14-alpine: Pulling from library/nginx
bdf0201b3a05: Pull complete
3d0a573c81ed: Pull complete
8129faeb2eb6: Pull complete
3dc99f571daf: Pull complete
Digest: sha256:485b610fefec7ff6c463ced9623314a04ed67e3945b9c08d7e53a47f6d108dc7
Status: Downloaded newer image for nginx:1.14-alpine
docker.io/library/nginx:1.14-alpine
查看镜像nginx:1.14-alpine的详细信息
[root@node01 ~]# docker image inspect nginx:1.14-alpine [ { "Id": "sha256:8a2fb25a19f5dc1528b7a3fabe8b3145ff57fe10e4f1edac6c718a3cf4aa4b73", "RepoTags": [ "nginx:1.14-alpine" ], "RepoDigests": [ "nginx@sha256:485b610fefec7ff6c463ced9623314a04ed67e3945b9c08d7e53a47f6d108dc7" ], "Parent": "", "Comment": "", "Created": "2019-04-10T01:08:46.210666872Z", "Container": "0a597833eefb7f60fd434dcc4438c1bd0d514a42f5925513841ec5c3295d62d4", "ContainerConfig": { "Hostname": "0a597833eefb", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "80/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "NGINX_VERSION=1.14.2" ], "Cmd": [ "/bin/sh", "-c", "#(nop) ", "CMD [\"nginx\" \"-g\" \"daemon off;\"]" ], "ArgsEscaped": true, "Image": "sha256:aff1bb24fb4907c200a9e7cbabe65ec4b5490bc511ab7f1f69b2946f709a27cb", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>" }, "StopSignal": "SIGTERM" }, "DockerVersion": "18.06.1-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/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "NGINX_VERSION=1.14.2" ], "Cmd": [ "nginx", "-g", "daemon off;" ], "ArgsEscaped": true, "Image": "sha256:aff1bb24fb4907c200a9e7cbabe65ec4b5490bc511ab7f1f69b2946f709a27cb", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>" }, "StopSignal": "SIGTERM" }, "Architecture": "amd64", "Os": "linux", "Size": 16032814, "VirtualSize": 16032814, "GraphDriver": { "Data": { "LowerDir": "/var/lib/docker/overlay2/0afec5029a73fa8e3fe1b929547a3062231091e13a175c5feb4f8615d0c01b99/diff:/var/lib/docker/overlay2/ccdd05f4cb175a568354340ce363a0d847b41e22dffe80037948d1296d961a32/diff:/var/lib/docker/overlay2/2af829e9b6451a53c5f747e55886e843daff2dfd77233c8ae3e3286e25f5a2eb/diff", "MergedDir": "/var/lib/docker/overlay2/0cb9be8148524543d03c8154eb2dbe3ad5a25fded931d4f8f9e83665a448ca0d/merged", "UpperDir": "/var/lib/docker/overlay2/0cb9be8148524543d03c8154eb2dbe3ad5a25fded931d4f8f9e83665a448ca0d/diff", "WorkDir": "/var/lib/docker/overlay2/0cb9be8148524543d03c8154eb2dbe3ad5a25fded931d4f8f9e83665a448ca0d/work" }, "Name": "overlay2" }, "RootFS": { "Type": "layers", "Layers": [ "sha256:a464c54f93a9e88fc1d33df1e0e39cca427d60145a360962e8f19a1dbf900da9", "sha256:5ac9a5170bf254da6d1b54edbfde4da4070e5c43a85a0402ec7defdcec5c3657", "sha256:b2cbae4b8c158c49c6590cc69a305c36dfb133321c3ab1e9c3b764f54c27158a", "sha256:076c58d2644f0d4c4a80d460bc2dfb21469f4fdb5c3d259438e0a4a1b182fa87" ] }, "Metadata": { "LastTagTime": "0001-01-01T00:00:00Z" } } ]
保存镜像
[root@node01 ~]# docker image save busybox -o buaybox.tar
导入镜像
[root@node01 ~]# docker image rm busybox:latest
Untagged: busybox:latest
Untagged: busybox@sha256:a9286defaba7b3a519d585ba0e37d0b2cbee74ebfe590960b0b1d6a5e97d1e1d
[root@node01 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
wan012q/docker01 busybox_v1 f0b02e9d092d 10 days ago 1.23MB
nginx 1.14-alpine 8a2fb25a19f5 18 months ago 16MB
[root@node01 ~]# docker image import buaybox.tar
sha256:1c26751958da198b989b2b08384c134ca11077becca89fdcfc5cec9f9cc05fd6
[root@node01 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> 1c26751958da 2 seconds ago 1.45MB
wan012q/docker01 busybox_v1 f0b02e9d092d 10 days ago 1.23MB
nginx 1.14-alpine 8a2fb25a19f5 18 months ago 16MB
[root@node01 ~]# docker image rmi 1c26751958da
Deleted: sha256:1c26751958da198b989b2b08384c134ca11077becca89fdcfc5cec9f9cc05fd6
Deleted: sha256:e272adc323d6eadc54a5f1f9a350d251e019eb84f24aabe52347039aec82896a
[root@node01 ~]# docker image load -i buaybox.tar
d2421964bad1: Loading layer 1.45MB/1.45MB
Loaded image: busybox:latest
[root@node01 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest f0b02e9d092d 10 days ago 1.23MB
nginx 1.14-alpine 8a2fb25a19f5 18 months ago 16MB
创建容器
方法一:创建容器后启动(不推荐)
[root@node01 ~]# docker create busybox
14379b0ed03f8a63be06703594bd031dfc1d1db633e9b68e84fbcfb0763c3800
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@node01 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14379b0ed03f busybox "sh" 8 seconds ago Created vibrant_blackwell
[root@node01 ~]# docker start 14379b0ed03f
14379b0ed03f
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@node01 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
14379b0ed03f busybox "sh" 53 seconds ago Exited (0) 29 seconds ago vibrant_blackwell
方法二:通过运行创建容器
[root@node01 ~]# docker run nginx:1.14-alpine
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
147631182ea4 nginx:1.14-alpine "nginx -g 'daemon of…" 14 seconds ago Up 13 seconds 80/tcp eager_lehmann
注:容器退出后,停止运行
#创建容器,退出后,停止告知运行
[root@node01 ~]# docker run -it busybox /bin/sh
/ #
#创建容器,放在后台运行
[root@node01 ~]# docker run -d nginx:1.14-alpine
49b6c21411285a76a82713d58b0a416814df9a32e0574172a159ff36d46264f7
退出时,容器还在运行
Ctrl + p + q
[root@node01 ~]# docker run -it nginx:1.14-alpine /bin/sh
/ # [root@node01 ~]#
创建容器时,指定名字
[root@node01 ~]# docker run --name=nginx1 nginx:1.14-alpine
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0a2a2d538c1f nginx:1.14-alpine "nginx -g 'daemon of…" 6 seconds ago Up 6 seconds 80/tcp nginx1
创建容器,运行,结束后,自动删除
[root@node01 ~]# docker run --rm -it nginx:1.14-alpine /bin/sh
/ #
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3b783d031102 nginx:1.14-alpine "/bin/sh" 11 seconds ago Up 10 seconds 80/tcp cool_cerf
退出登录后
[root@node01 ~]# docker run --rm -it nginx:1.14-alpine /bin/sh
/ # exit
[root@node01 ~]#
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAM
容器的关闭、停止
#创建容器nginx [root@node01 ~]# docker run -d --name=nginx nginx:1.14-alpine 3dc088a9821f9419b191e5f989bd790a7103389161f3b8941a6dcdaf2eca30b1 #查看容器状态 [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3dc088a9821f nginx:1.14-alpine "nginx -g 'daemon of…" 12 seconds ago Up 12 seconds 80/tcp nginx #停止容器 [root@node01 ~]# docker stop nginx nginx #查看容器状态 [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@node01 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3dc088a9821f nginx:1.14-alpine "nginx -g 'daemon of…" 34 seconds ago Exited (0) 7 seconds ago nginx 5a6a2d294f3d nginx:1.14-alpine "nginx -g 'daemon of…" 3 minutes ago Exited (0) 2 minutes ago affectionate_johnson 0a2a2d538c1f nginx:1.14-alpine "nginx -g 'daemon of…" 9 minutes ago Exited (0) 8 minutes ago nginx1 #启动容器 [root@node01 ~]# docker start nginx nginx #重启容器 [root@node01 ~]# docker restart nginx1 nginx1 #查看容器状态 [root@node01 ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3dc088a9821f nginx:1.14-alpine "nginx -g 'daemon of…" 55 seconds ago Up 7 seconds 80/tcp nginx
查看容器 nginx的详细信息
[root@node01 ~]# docker inspect nginx [ { "Id": "3dc088a9821f9419b191e5f989bd790a7103389161f3b8941a6dcdaf2eca30b1", "Created": "2020-10-24T15:39:36.093956012Z", "Path": "nginx", "Args": [ "-g", "daemon off;" ], "State": { "Status": "running", "Running": true, "Paused": false, "Restarting": false, "OOMKilled": false, "Dead": false, "Pid": 19292, "ExitCode": 0, "Error": "", "StartedAt": "2020-10-24T15:40:23.543972408Z", "FinishedAt": "2020-10-24T15:40:03.203496406Z" }, "Image": "sha256:8a2fb25a19f5dc1528b7a3fabe8b3145ff57fe10e4f1edac6c718a3cf4aa4b73", "ResolvConfPath": "/var/lib/docker/containers/3dc088a9821f9419b191e5f989bd790a7103389161f3b8941a6dcdaf2eca30b1/resolv.conf", "HostnamePath": "/var/lib/docker/containers/3dc088a9821f9419b191e5f989bd790a7103389161f3b8941a6dcdaf2eca30b1/hostname", "HostsPath": "/var/lib/docker/containers/3dc088a9821f9419b191e5f989bd790a7103389161f3b8941a6dcdaf2eca30b1/hosts", "LogPath": "/var/lib/docker/containers/3dc088a9821f9419b191e5f989bd790a7103389161f3b8941a6dcdaf2eca30b1/3dc088a9821f9419b191e5f989bd790a7103389161f3b8941a6dcdaf2eca30b1-json.log", "Name": "/nginx", "RestartCount": 0, "Driver": "overlay2", "Platform": "linux", "MountLabel": "", "ProcessLabel": "", "AppArmorProfile": "", "ExecIDs": null, "HostConfig": { "Binds": null, "ContainerIDFile": "", "LogConfig": { "Type": "json-file", "Config": {} }, "NetworkMode": "default", "PortBindings": {}, "RestartPolicy": { "Name": "no", "MaximumRetryCount": 0 }, "AutoRemove": false, "VolumeDriver": "", "VolumesFrom": null, "CapAdd": null, "CapDrop": null, "Capabilities": null, "Dns": [], "DnsOptions": [], "DnsSearch": [], "ExtraHosts": null, "GroupAdd": null, "IpcMode": "private", "Cgroup": "", "Links": null, "OomScoreAdj": 0, "PidMode": "", "Privileged": false, "PublishAllPorts": false, "ReadonlyRootfs": false, "SecurityOpt": null, "UTSMode": "", "UsernsMode": "", "ShmSize": 67108864, "Runtime": "runc", "ConsoleSize": [ 0, 0 ], "Isolation": "", "CpuShares": 0, "Memory": 0, "NanoCpus": 0, "CgroupParent": "", "BlkioWeight": 0, "BlkioWeightDevice": [], "BlkioDeviceReadBps": null, "BlkioDeviceWriteBps": null, "BlkioDeviceReadIOps": null, "BlkioDeviceWriteIOps": null, "CpuPeriod": 0, "CpuQuota": 0, "CpuRealtimePeriod": 0, "CpuRealtimeRuntime": 0, "CpusetCpus": "", "CpusetMems": "", "Devices": [], "DeviceCgroupRules": null, "DeviceRequests": null, "KernelMemory": 0, "KernelMemoryTCP": 0, "MemoryReservation": 0, "MemorySwap": 0, "MemorySwappiness": null, "OomKillDisable": false, "PidsLimit": null, "Ulimits": null, "CpuCount": 0, "CpuPercent": 0, "IOMaximumIOps": 0, "IOMaximumBandwidth": 0, "MaskedPaths": [ "/proc/asound", "/proc/acpi", "/proc/kcore", "/proc/keys", "/proc/latency_stats", "/proc/timer_list", "/proc/timer_stats", "/proc/sched_debug", "/proc/scsi", "/sys/firmware" ], "ReadonlyPaths": [ "/proc/bus", "/proc/fs", "/proc/irq", "/proc/sys", "/proc/sysrq-trigger" ] }, "GraphDriver": { "Data": { "LowerDir": "/var/lib/docker/overlay2/8df304dfa35b230db4be4375a64ecc173fe60b094d294c741cc18a0c96dd2e43-init/diff:/var/lib/docker/overlay2/0cb9be8148524543d03c8154eb2dbe3ad5a25fded931d4f8f9e83665a448ca0d/diff:/var/lib/docker/overlay2/0afec5029a73fa8e3fe1b929547a3062231091e13a175c5feb4f8615d0c01b99/diff:/var/lib/docker/overlay2/ccdd05f4cb175a568354340ce363a0d847b41e22dffe80037948d1296d961a32/diff:/var/lib/docker/overlay2/2af829e9b6451a53c5f747e55886e843daff2dfd77233c8ae3e3286e25f5a2eb/diff", "MergedDir": "/var/lib/docker/overlay2/8df304dfa35b230db4be4375a64ecc173fe60b094d294c741cc18a0c96dd2e43/merged", "UpperDir": "/var/lib/docker/overlay2/8df304dfa35b230db4be4375a64ecc173fe60b094d294c741cc18a0c96dd2e43/diff", "WorkDir": "/var/lib/docker/overlay2/8df304dfa35b230db4be4375a64ecc173fe60b094d294c741cc18a0c96dd2e43/work" }, "Name": "overlay2" }, "Mounts": [], "Config": { "Hostname": "3dc088a9821f", "Domainname": "", "User": "", "AttachStdin": false, "AttachStdout": false, "AttachStderr": false, "ExposedPorts": { "80/tcp": {} }, "Tty": false, "OpenStdin": false, "StdinOnce": false, "Env": [ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "NGINX_VERSION=1.14.2" ], "Cmd": [ "nginx", "-g", "daemon off;" ], "Image": "nginx:1.14-alpine", "Volumes": null, "WorkingDir": "", "Entrypoint": null, "OnBuild": null, "Labels": { "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>" }, "StopSignal": "SIGTERM" }, "NetworkSettings": { "Bridge": "", "SandboxID": "f6c02746179a1ae0d1d913288bda58fe1e460a10914a8bcc3180a6dda69cded1", "HairpinMode": false, "LinkLocalIPv6Address": "", "LinkLocalIPv6PrefixLen": 0, "Ports": { "80/tcp": null }, "SandboxKey": "/var/run/docker/netns/f6c02746179a", "SecondaryIPAddresses": null, "SecondaryIPv6Addresses": null, "EndpointID": "055a09643d5a2333874cc4dc0997b682bbc92a02a2cee9e7a0096193a4e0cb8f", "Gateway": "172.17.0.1", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "IPAddress": "172.17.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "MacAddress": "02:42:ac:11:00:02", "Networks": { "bridge": { "IPAMConfig": null, "Links": null, "Aliases": null, "NetworkID": "8baa1345522f83775dbbafa9129f807dc84f3603e55567278bde4a918819c65f", "EndpointID": "055a09643d5a2333874cc4dc0997b682bbc92a02a2cee9e7a0096193a4e0cb8f", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:02", "DriverOpts": null } } } } ]
删除容器
注:停止容器后,删除容器
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
acca5d142dee nginx:1.14-alpine "nginx -g 'daemon of…" 3 minutes ago Up 3 minutes 0.0.0.0:80->80/tcp nginx2
3dc088a9821f nginx:1.14-alpine "nginx -g 'daemon of…" 15 minutes ago Up 14 minutes 80/tcp nginx
[root@node01 ~]# docker stop nginx2
nginx2
[root@node01 ~]# docker rm nginx2
nginx2
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3dc088a9821f nginx:1.14-alpine "nginx -g 'daemon of…" 16 minutes ago Up 15 minutes 80/tcp nginx
注:强制删除运行中的容器
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
090322c06e5b nginx:1.14-alpine "nginx -g 'daemon of…" 6 seconds ago Up 5 seconds 80/tcp nginx2
3dc088a9821f nginx:1.14-alpine "nginx -g 'daemon of…" 18 minutes ago Up 17 minutes 80/tcp nginx
[root@node01 ~]# docker rm -f nginx2 nginx
nginx2
nginx
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAME
注:将运行、没有运行的所有容器都删除掉
[root@node01 ~]# docker ps -aq
5a6a2d294f3d
0a2a2d538c1f
[root@node01 ~]# docker rm -f `docker ps -aq`
5a6a2d294f3d
0a2a2d538c1f
[root@node01 ~]# docker ps -aq
[root@node01 ~]#
运行容器后进入,交互式界面
[root@node01 ~]# docker run --name=nginx1 nginx:1.14-alpine
[root@node01 ~]# docker exec -it nginx1 /bin/sh
/ #
/ # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
56: eth0@if57: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.2/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
/ #
查看容器的访问日志
[root@node01 ~]# docker logs nginx1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。