Rootop 服务器运维与web架构

centos6.5安装docker

安装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

作者:Venus

服务器运维与性能优化

评论已关闭。