经过前面几篇入门docker操作,希望你大致已掌握docker的使用,剩下的提高方法主要是多将自己开发的应用部署到docker上,进一步提高熟练掌握docker,docker是当下半自动化运维和自动化运维的主要技能之一,也是效能平台如K8s等的使用基础。

一、docker-compose( https://github.com/docker/compose )
Docker Compose是一个用来定义和运行复杂应用的Docker工具。使用Compose,你可以在一个文件中定义一个多容器应用和容器依赖,然后使用一条命令来启动你的应用,完成一切准备工作。 Docker Compose是用python写的,安装时,需要使用python 的pip管理安装。我们都知道maven 之于java,Docker Compose其实就是docker的maven工具,你将自己的制作的镜像上传到docker hub等公有云或者私有云上后,就能在客户端通过compose来操作部署你的镜像到自己服务器上。
Docker Compose默认的配置文件是docker-compose.yml,下面我们以携程开源分布式配置项目Apollo( https://github.com/ctripcorp/apollo)的docker-compose来讲解:
如上图所示,apollo项目的docker-compose部署脚本就是这么简洁,services下定义了该部署共需要3个镜像,depends_on指明了它们之间的部署顺序关系,links指明了 apollo-quick-start 镜像需要apollo-db服务,ports是服务器端口到容器端口的映射. 在上诉文件夹下执行 docker-compose up -d 命令( docker-compose 默认文件是docker-compose.yml,可以在执行命令时用 -f 指定其它名字,-d选项是让命令在后台运行),第一次执行时,会将依赖的镜像文件安装到docker中,下载安装完后,部署的应用就在8080端口和8070端口上运行了。
此时用 docker-compose ps 可以查看docker中的在运行应用,比较详细的docker-compose命令有如下这些:
build  构建或重建服务
help  命令帮助
kill  杀掉容器
logs  显示容器的输出内容
port  打印绑定的开放端口
ps  显示容器
pull  拉取服务镜像
restart  重启服务
rm  删除停止的容器
run  运行一个一次性命令
scale  设置服务的容器数目
start  开启服务
stop  停止服务
up  创建并启动容器
更多的docker-compose命令,可以在自己不断实践中熟练掌握

二、docker常用命令
docker run   在一个新的容器执行一个命令
docker start 开一个或者更多已经停止的容器
docker stop 停止一个运行的容器
docker restart 重新开始一个运行的容器
docker kill 杀死一个运行的容器
docker rm 删除一个或更多的容器
docker pause 暂停一个容器的所有进程
docker unpaunse 恢复一个容器的所有进程
docker 容器操作运维
docker ps 列出容器
docker inspect 列出关于容器或镜像的底层信息
docker top 显示一个容器运行的进程
docker attach 附上一个运行的容器
docker events 得到实时的来自服务的事件
docker log 获得一个容器的日志
docker wait 阻塞直到一个容器停止,然后打印它的退出代码
docker export 导出一个容器的文件系统作为一个tar文件
docker port 列出容器映射的端口
docker 版本管理
docker commit 创建一个新的镜像从一个容器
docker cp 从容器复制一个文件或目录到本地目录或标准输出
docker diff 展示一个容器文件系统的变化
docker 镜像仓库
docker login 登入仓库
docker pull 拉取镜像
docker push 推送镜像
docker search 搜索镜像
docker 本地镜像管理
docker images 列出本地的镜像
docker rmi 删除本地的镜像
docker tag 打标签本地的镜像
docker build 通过Dockerfile构建本地的镜像
docker histroy 列出镜像的历史
docker save 保存本地的镜像为一个tar文件
docker import 通过tar导入镜像
docker load 加载tar镜像
docker 其它命令
docker info
docker version

上面是docker使用的常用基本命令,平时用时供备查,到此docker的基础入门章节已告段落,后续我我会陆续写docker的高级使用场景。

参考:
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐