docker安装与启动
安装docker
[root@localhost /]# yum -y install docker-io
更改配置文件
[root@localhost /]# vi /etc/sysconfig/docker other-args列更改为:other_args="--exec-driver=lxc --selinux-enabled"
启动docker服务
[root@localhost /]# service docker startStarting cgconfig service: [ OK ]Starting docker: [ OK ] 将docker加入开机启动[root@localhost /]# chkconfig docker on
基本信息查看
docker version:查看docker的版本号,包括客户端、服务端、依赖的Go等
[root@localhost /]# docker versionClient version: 1.0.0Client API version: 1.12Go version (client): go1.2.2Git commit (client): 63fe64c/1.0.0Server version: 1.0.0Server API version: 1.12Go version (server): go1.2.2Git commit (server): 63fe64c/1.0.0 docker info :查看系统(docker)层面信息,包括管理的images, containers数等[root@localhost /]# docker infoContainers: 16Images: 40Storage Driver: devicemapper Pool Name: docker-253:0-1183580-pool Data file: /var/lib/docker/devicemapper/devicemapper/data Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata Data Space Used: 2180.4 Mb Data Space Total: 102400.0 Mb Metadata Space Used: 3.4 Mb Metadata Space Total: 2048.0 MbExecution Driver: lxc-0.9.0Kernel Version: 2.6.32-431.el6.x86_64
5 镜像的获取与容器的使用
镜像可以看作是包含有某些软件的容器系统,比如ubuntu就是一个官方的基础镜像,很多镜像都是基于这个镜像“衍生”,该镜像包含基本的ubuntu系统。再比如,hipache是一个官方的镜像容器,运行后可以支持http和websocket的代理服务,而这个镜像本身又基于ubuntu。
搜索镜像 docker search :在docker index中搜索image
[root@localhost /]# docker search ubuntu12.10NAME DESCRIPTION STARS OFFICIAL AUTOMATEDmirolin/ubuntu12.10 0marcgibbons/ubuntu12.10 0mirolin/ubuntu12.10_redis 0chug/ubuntu12.10x32 Ubuntu Quantal Quetzal 12.10 32bit base i... 0chug/ubuntu12.10x64 Ubuntu Quantal Quetzal 12.10 64bit base i... 0
下载镜像
docker pull :从docker registry server 中下拉image
[root@localhost /]# docker pull chug/ubuntu12.10x64
查看镜像
docker images: 列出images
docker images -a :列出所有的images(包含历史)
docker images --tree :显示镜像的所有层(layer)
docker rmi : 删除一个或多个image
[root@localhost /]# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEchug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB[root@localhost /]# docker images -aREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEchug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB 31edfed3bb88 4 months ago 175.8 MB[root@localhost /]# docker images --treeWarning: '--tree' is deprecated, it will be removed soon. See usage.└─31edfed3bb88 Virtual Size: 175.8 MB └─0b96c14dafcd Virtual Size: 270.3 MB Tags: chug/ubuntu12.10x64:latest[root@localhost /]# docker rmi ....
使用镜像创建容器
[root@localhost /]# docker run chug/ubuntu12.10x64 /bin/echo hello worldhello world 交互式运行[root@localhost /]# docker run -i -t chug/ubuntu12.10x64 /bin/bashroot@2161509ff65e:/#
查看容器
docker ps :列出当前所有正在运行的container docker ps -l :列出最近一次启动的container docker ps -a :列出所有的container(包含历史,即运行过的container) docker ps -q :列出最近一次运行的container ID
[root@localhost /]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESccf3de663dc9 chug/ubuntu12.10x64:latest /bin/bash 22 hours ago Up 22 hours sharp_hypatia[root@localhost /]# docker ps -lCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf145f184647b chug/ubuntu12.10x64:latest /bin/bash 6 seconds ago Exited (0) 3 seconds ago compassionate_galileo[root@localhost /]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf145f184647b chug/ubuntu12.10x64:latest /bin/bash 30 seconds ago Exited (0) 26 seconds ago compassionate_galileof4624b42fe7e chug/ubuntu12.10x64:latest /bin/bash 2 minutes ago Exited (0) 2 minutes ago sharp_wilsonccf3de663dc9 chug/ubuntu12.10x64:latest /bin/bash 22 hours ago Up 22 hours sharp_hypatia9cbaa79b9703 chug/ubuntu12.10x64:latest /bin/bash 22 hours ago Exited (127) 36 minutes ago berserk_mcclintock2161509ff65e chug/ubuntu12.10x64:latest /bin/bash 22 hours ago Exited (0) 22 hours ago backstabbing_mclean[root@localhost /]# docker ps -qccf3de663dc9
再次启动容器
docker start/stop/restart :开启/停止/重启container docker start [container_id] :再次运行某个container (包括历史container) docker attach [container_id] :连接一个正在运行的container实例(即实例必须为start状态,可以多个窗口同时attach 一个container实例) docker start -i :启动一个container并进入交互模式(相当于先start,在attach)
docker run -i -t /bin/bash :使用image创建container并进入交互模式, login shell是/bin/bash docker run -i -t -p :映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。 注:使用start是启动已经创建过得container,使用run则通过image开启一个新的container。
删除容器
docker rm :删除一个或多个container docker rm `docker ps -a -q` :删除所有的container docker ps -a -q | xargs docker rm :同上, 删除所有的container
6 持久化容器与镜像
6.1 通过容器生成新的镜像
运行中的镜像称为容器。你可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。不过,你使用docker commit 命令可以把一个正在运行的容器变成一个新的镜像。
docker commit [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选。
[root@localhost /]# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEchug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB[root@localhost /]# docker commit d0fd23b8d3ac chug/ubuntu12.10x64_2daa11948e23d970c18ad89c9e5d8972157fb6f0733f4742db04219b9bb6d063b[root@localhost /]# docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEchug/ubuntu12.10x64_2 latest daa11948e23d 6 seconds ago 270.3 MBchug/ubuntu12.10x64 latest 0b96c14dafcd 4 months ago 270.3 MB
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~