前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker容器入门

Docker容器入门

作者头像
用户1154259
发布2018-01-17 16:02:00
8260
发布2018-01-17 16:02:00
举报

为什么要看docker

从去年起就或多或少的接受了docker的熏陶,主要还是Infoq在去年有很多关于docker的实践视频讲座,记得有一篇是《Docker在雪球的技术实践》,当时听的也不是很明白,就萌生了了解docker的想法。

可惜由于工作的关系,一直没有接触到这方面的内容,因此学习的计划也就暂时搁置。直到前不久京东促销买了本docker的书籍、又上网买了本盗版的电子书,想趁着春节好好学习一番,没想到回家就玩了。

直到最近抽出时间读一下《第一本docker书》,就当做先了解了解。

我理解的docker

通过看了前几章的书,以及百度了解,大体上理解了什么是docker。

按照我的理解,docker其实就是一种虚拟化的技术。就像virtualBox,你可以在windows上安装,然后通过不同的镜像装不同的系统。而docker也是差不多,只不过它不是一种操作系统,而是在原生的系统之上直接虚拟出一个容器。这个容器有独立的进程、权限、资源、网络等等。

docker的口号跟java有点像,一次编写,到处运行。因为docker本身作为一种容器,在什么地方安装都是一样的(现在对平台还是有一定要求的),而不管内部装的是什么。

因此开发者只要写代码然后把程序放在容器中运行起来就行;运维人员呢,只需要了解怎么部署docker容器就可以了。

这样就完全解决了,开发完的东西在开发人员自己电脑上好使,到别人电脑上就不好使的问题。

docker能做什么

通过上面的介绍,大致了解docker的生命周期可能是这样的:

  • 构建:构建容器
  • 分发:CI持续集成,部署,镜像
  • 运行:以守护进程的方式运行

那么docker到底都可以做什么呢?

  • 加速本地开发、构建流程
  • 在不同的环境中,得到相同的运行结果
  • 隔离的环境测试
  • 构建Paas

不过需要注意一点的是,docker目前对安装环境还是有一定要求的。比如:

  • 1 64位CPU
  • 2 3.8+内核
  • 3 存储驱动,
  • 4 内核开启cgroup和命名空间

docker的常用命令

运行容器:

代码语言:javascript
复制
sudo docker run -i -t ubuntu /bin/bash

查看容器列表:

代码语言:javascript
复制
docker ps -a

容器命名:sudo docker run --name bob_the_container -i -t ubuntu /bin/bash 重新启动:

代码语言:javascript
复制
sudo docker start bob_the_container

创建守护容器:

代码语言:javascript
复制
sudo docker run --name daemon_dave -d ubuntu /bin/bash -c "while true;do echo hello world; sleep 1;done"

带时间查看日志:

代码语言:javascript
复制
sudo docker logs -ft daemon_dave

查看容器内的进程:

代码语言:javascript
复制
sudo docker top daemon_dave

容器内运行进程:

代码语言:javascript
复制
sudo docker exec -d daemon_dave touch /etc/new_config_file

交互式运行进程:

代码语言:javascript
复制
sudo docker exec -t -i daemon_dave /bin/bash

停止守护进程:

代码语言:javascript
复制
sudo docker stop daemon_dave或者sudo docker stop 43wqihds8324

自动重启容器:

代码语言:javascript
复制
sudo docker run --restart=always --name daemon_dave -d ubuntu /bin/bash -c "while true;do echo hello world; sleep 1;done"

查看容器详细信息:

代码语言:javascript
复制
sudo docker inspect daemon_dave

删除容器:

代码语言:javascript
复制
sudo docker rm 823919fdsfdas3

删除所有容器:

代码语言:javascript
复制
docker rm 'docker ps -a -q'
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-02-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么要看docker
  • 我理解的docker
  • docker能做什么
  • docker的常用命令
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档