Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。(引用于百度百科)
作为一个运维人员,要做的就是部署/维护环境,开发提交代码后快速部署/启动服务/测试人员进行测试,是现在最新面临的问题,那么如何运行一套能够快速启动的测试环境,这就需要提到docker了
Docker的安装非常简单,centos下先安装epel源,再yum install docker-io就可以安装完成,安装完成后,运行docker -d以守护进程的方式启动docker,下面主要讲解docker中一些常用的命令和操作:
环境介绍:
Centos6.5 内核2.6
docker1.7.1
一.镜像操作
1.搜索镜像
docker search busybox #从Docker HUB上搜索镜像
2.拉取镜像
docker pull mysql #直接拉取官方最新版本镜像
3.查看本地镜像
docker p_w_picpaths
4.删除镜像(不能存在依赖的容器)
docker rmi busybox
docker rmi f833
5.查看镜像构建过程
docker history f833
6.镜像添加标签
docker tag busybox bb
7.导入/导出镜像
docker save busybox >/home/busybox.tar #导出保存为tar文件
docker load</home/busybox.tar #导入成为一个镜像
二.容器操作
1.运行容器
docker run -it busybox /bin/bash #以交互方式运行shell命令行
docker run -it f833 /bin/bash
#以后台方式运行nginx,并把容器的80端口映射到宿主机的80端口,容器名称nginx
docker run -d -p 80:80 --name nginx nginx
#以后台方式运行nginx,并把容器的80端口映射到宿主机的80端口,容器名称nginx,连接tomcat容器,
把宿主机的/logs目录挂载到容器中的/var/logs/nginx目录
docker run -d -p 80:80 --name nginx --link tomcat:tomcat -v /logs/:/var/logs/nginx nginx
2.启动/停止/重启容器
docker start nginx
docker stop nginx
docker restart nginx
3.删除容器(必须先停止容器)
docker rm nginx
4.查看容器运行日志
docker logs nginx
docker logs -f nginx #追踪模式
5.在容器内执行命令
docker exec nginx ip a #查看容器的ip
6.查看所有容器的状态
docker ps -a
注意:
当状态为Up时,容器内服务正在运行,可以对外提供服务
当状态为Exited时,容器内服务已经关闭,不能对外提供服务
7.再次进入运行中的容器
docker attach nginx
这篇‘常用命令’就先聊到这里,docker功能如此强大,功能远不止这些,下篇打算聊聊如何拥有自己的私库,上传下载镜像速度有质的提升,敬请期待~