设为首页 收藏本站
查看: 1131|回复: 0

[经验分享] docker 开始

[复制链接]

尚未签到

发表于 2015-4-17 11:12:18 | 显示全部楼层 |阅读模式
  #0.开始
  
  Docker 有两个程序:
  
  1. 守护进程**:**管理所有的集装箱(containers)
  2. 客户进程**:**扮演着远程控制守护进程的角色
  
  在绝大多数的系统中,这两个进程就在同一台主机上。
  
  ####version 命令
  这个命令可以测试哪个守护进程在运行,而且是否连接。如果获知哪个版本正在运行,那docker就配置好了。
  
  `[sudo] docker version //(docker是以root身份运行的,如果把自己加到docker用户组里就可以省去sudo)`
  
  
  运行结果
  ```
  $ docker version
  Client version: 0.11.1
  Client API version: 1.11
  Go version (client): go1.2.1
  Git commit (client): fb99f99
  Server version: 0.11.1
  Server API version: 1.11
  Git commit (server): fb99f99
  Go version (server): go1.2.1
  ```
  ####search 命令
  
  最好的开始就是先从别的地方获取一个集装箱的镜像。所有的集装箱的镜像在[DockerIndex](https://index.docker.io/)上都有,这是一个存放镜像的地方。(作为一个纯技术网站,这个地址在拉取镜像的时候被墙了。)
  
  `[sudo] docker search tutorial`
  
  ```
  $ docker search tutorial
  NAME DESCRIPTION STARS OFFICIAL TRUSTED
  learn/tutorial 3
  namin/io.livecode.ch interactive programming tutorials, powered... 1 [OK]
  sfilipov/rails-tutorial 0 [OK]
  zqhxuyuan/tutorial 0
  mzdaniel/buildbot-tutorial 0
  jbarbier/tutorial1
  
  ```
  ####pull 命令
  
  镜像都是以**username/repository**的形式命名的,一些特别的可信的镜像比如ubuntu这个镜像可以直接以名字**repository**的形式命名。
  
  拉取镜像, 执行 `docker pull learn/tutorial` 就能获取该镜像。但是国内被墙了,挂个vpn,或者跳去看后面,从本地导入的方法**import** 和 **load**。
  
  ####run 命令
  
  可以把集装箱想象成一个放在盒子里运行的进程,这个盒子包含了所有该进程需要的环境,有完整的文件系统,完整的操作系统库,完整的shell等等,但是默认都是没有运行的。
  
  `docker run learn/tutorial echo "hello world"`
  
  就会在终端中看到hello world
  
  ####在集装箱上进行安装
  
  我们需要在集装箱上安装ping,因为镜像是基于ubuntu的,所以可以在集装箱上使用命令`apt-get install -y ping`。虽然集装箱在运行完程序后就会结束,但是在上面做的改变不会被丢弃。
  
  `docker run learn/tutorial apt-get install -y ping`
  
  ####保存你的更改
  
  在运行一段命令后,你可能想保存你的修改,那么docker能够从这些更改开始开启集装箱。对于docker来说,所有的进程的保存叫做*committing*,commit 简单地保存新旧镜像的区别。结果产生新的一层。
  
  首先使用`docker ps -l`
  
  会显示执行的改变,然后通过commit 来提交改变
  
  
  `docker commit 698 name/res` name 和 res 都可以随便命名的。
  
  ####运行你自己的镜像
  
  如果你完成了上面的环节,那么你应该拥有了一个包含ping的镜像。现在可以用这个镜像来运行ping了。
  
  `docker run name/res ping google.com`
  
  ####检查自己的镜像
  
  `docker ps` 可以列出运行中的集装箱,`docker inspect id`可以获得集装箱的所有信息。
  
  `docker inspect efe` efe是某个集装箱的id
  
  ####提交镜像
  
  `docker push name/res` 就可以
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-58128-1-1.html 上篇帖子: Mac OS X 下安装使用 Docker 下篇帖子: [转]利用Docker构建开发环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表