安装docker,添加epel源:
[root@varnish ~]# wget -c http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@varnish ~]# rpm -ivh epel-release-6-8.noarch.rpm
导入公钥:
[root@varnish ~]# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
安装docker:
[root@varnish ~]# yum install -y docker-io
[root@varnish ~]# service docker start
[root@varnish ~]# chkconfig docker on
查看docker信息:
[root@varnish ~]# docker info Containers: 2 Images: 33 Storage Driver: devicemapper Pool Name: docker-252:1-918311-pool Data file: /var/lib/docker/devicemapper/devicemapper/data Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata Data Space Used: 1748.4 Mb Data Space Total: 102400.0 Mb Metadata Space Used: 2.5 Mb Metadata Space Total: 2048.0 Mb Execution Driver: native-0.2 Kernel Version: 2.6.32-431.el6.x86_64
从docker网站下载ubuntu镜像
[root@varnish ~]# docker pull ubuntu
用ubuntu输出hello world
[root@varnish ~]# docker run ubuntu /bin/echo hello world
列出已有的镜像:
[root@varnish ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu 14.04.1 c4ff7513909d 3 weeks ago 213 MB ubuntu latest c4ff7513909d 3 weeks ago 213 MB ubuntu 14.04 c4ff7513909d 3 weeks ago 213 MB ubuntu trusty c4ff7513909d 3 weeks ago 213 MB ubuntu utopic 75204fdb260b 3 weeks ago 226.4 MB ubuntu 14.10 75204fdb260b 3 weeks ago 226.4 MB
当镜像下载成功后,可以看到12位的hash值像c4ff7513909d,这是下载完整的镜像的精简ID。
这些短的镜像ID是完整镜像ID的前12个字符,可以使用docker inspect 或者 docker images -notrunc=true来获得完整的镜像ID
进入ubuntu命令行:
[root@varnish ~]# docker run -i -t ubuntu /bin/bash
安装apache:
root@70cc135faece:/# sudo apt-get install apache2 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package apache2 提示找不到apache2这个包。 root@70cc135faece:/# sudo apt-get update //先更新软件包库 root@70cc135faece:/# sudo apt-get install apache2 root@70cc135faece:/# service apache2 start root@70cc135faece:/# netstat -an | grep 80 tcp6 0 0 :::80 :::* LISTEN
执行exit退出容器,再执行 docker run -i -t ubuntu /bin/bash 发现apache没了。包括IP信息都变了。
这是因为刚才是根据ubuntu镜像启动了一个新的容器,退出时,也就关闭了。要继续使用的话,需要将其提交到仓库中。
查看之前启动的容器ID:
[root@varnish ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0c230803e75f 140630ae71cc /bin/bash 30 minutes ago Exited (130) 5 seconds ago ecstatic_bardeen c06c6365282d ubuntu:14.04 /bin/bash 32 minutes ago Exited (127) 32 minutes ago drunk_poincare d4ea5b21512f ubuntu:14.04 /bin/bash 44 minutes ago Exited (0) 33 minutes ago happy_feynman 542b4a79ab7b ubuntu:14.04 /bin/bash 48 minutes ago Exited (130) 46 minutes ago
根据提示,5秒之前退出的应该是我之前安装过apache的容器。
将其提交到仓库中:
[root@varnish ~]# docker commit d4ea5b21512f apache //CONTAINER ID + 别名 用于描述容器作用 f8e04197e16217a6580c31b4cc23198fde93d299fc9c8a2b4f0318625f276721 //返回一个唯一字符串,可以自定义名字。 下次启动: [root@varnish ~]# docker run -t -i f8e04197e16217a6580c31b4cc23198fde93d299fc9c8a2b4f0318625f276721 /bin/bash //或者用别名
暂时记录到这里,回头继续。
删除单个镜像:
[root@varnish ~]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE ubuntu 14.04.1 c4ff7513909d 3 weeks ago 213 MB ubuntu 14.04 c4ff7513909d 3 weeks ago 213 MB ubuntu trusty c4ff7513909d 3 weeks ago 213 MB ubuntu 14.10 75204fdb260b 3 weeks ago 226.4 MB
[root@varnish ~]# docker rmi c4ff7513909d //IMAGE ID Untagged: ubuntu:14.04 Untagged: ubuntu:14.04.1 Untagged: ubuntu:trusty Deleted: c4ff7513909dedf4ddf3a450aea68cd817c42e698ebccf54755973576525c416 Deleted: cc58e55aa5a53b572f3b9009eb07e50989553b95a1545a27dcec830939892dba Deleted: 0ea0d582fd9027540c1f50c7f0149b237ed483d2b95ac8d107f9db5a912b4240 Deleted: d92c3c92fa73ba974eb409217bb86d8317b0727f42b73ef5a05153b729aaf96b Deleted: 9942dd43ff211ba917d03637006a83934e847c003bef900e4808be8021dca7bd Deleted: 1c9383292a8ff4c4196ff4ffa36e5ff24cb217606a8d1f471f4ad27c4690e290
删除所有镜像:
[root@varnish ~]# docker rmi $(docker images | awk '{print$3}' | grep -v "IMAGE")
删除单个容器:
[root@varnish ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9408857e0cee centos:centos6 /bin/bash 3 seconds ago Up 2 seconds condescending_tesla 8d5a7b7a509c centos:centos6 /bin/bash About a minute ago Up About a minute focused_franklin 7a160e291b0c apache/centos6:latest /bin/bash 8 minutes ago Up 8 minutes loving_sammet
首选需要停止容器运行
[root@varnish ~]# docker stop 9408857e0cee //停止容器
9408857e0cee
[root@varnish ~]# docker rm 9408857e0cee //rm删除
9408857e0cee
[root@varnish ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 8d5a7b7a509c centos:centos6 /bin/bash 2 minutes ago Up 2 minutes focused_franklin 7a160e291b0c apache/centos6:latest /bin/bash 9 minutes ago Up 9 minutes loving_sammet
删除所有容器:
[root@varnish ~]# docker stop $(docker ps -a | awk '{print$1}' | grep -v "CONTAINER" ) 8d5a7b7a509c 7a160e291b0c [root@varnish ~]# docker rm $(docker ps -a | awk '{print$1}' | grep -v "CONTAINER" ) 8d5a7b7a509c 7a160e291b0c [root@varnish ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@varnish ~]#
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/2854.html