阿里云部署Docker(3)----指令学习

通过上两节的学习http://blog.csdn.net/minimicall/article/details/40119177 和http://blog.csdn.net/minimicall/article/details/40108305 相信大家已经把docker环境已经搭建完毕,这一节,简单学习docker怎么用。

Hello world

计算机的每一个新事物似乎都是从hello world开始。

root@iZ28ikebrg6Z:~# docker run ubuntu:14.04 /bin/echo 'hello world'
hello world
root@iZ28ikebrg6Z:~# docker run ubuntu /bin/echo 'hello world'
hello world

我们之前执行过docker pull ubuntu, 所以我们从远端服务器拉取了不少ubuntu镜像,这些镜像已经存在在本地,不会再去远端服务器拉取,如果你运行的是本地没有的,docker会自动的去远端库查询和拉取。例如 :

root@iZ28ikebrg6Z:~# docker run centos /bin/echo 'hello world'
Unable to find image 'centos' locally
Pulling repository centos

上述ubuntu是一个镜像,作为一个容器,然后我们进一步运行容器内的APP,即/bin/echo程序。而当执行完echo指令之后,容器内的程序停止了,容器本身也就停止了。记住这个hello world 涉及到点概念,docker ,image, container ,application 。你懂了么?

An Interactive Container

一个可以交互的容器。我们输入如下命令:

root@iZ28ikebrg6Z:~# docker run -i -t ubuntu:14.04 /bin/bash
root@95d20e5442f9:/# 

多了两个参数,一个是 -t ,表示给我们的容器tty,终端。一个是-i 表示可以interactive,可以交互。细心看结果,上面一行还在我们的阿里云机子上iZ28ikebrg6z下一行已经进入到docker ubuntu:14.04镜像映射出的容器里面了,95d2e5442f9中。

你可以在这个bash里面执行一些操作。

root@95d20e5442f9:/# pwd
/
root@95d20e5442f9:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

如果你想退出这个bash,那么可以运行:

root@95d20e5442f9:/# exit
exit
root@iZ28ikebrg6Z:~# 

这样即退出了bash,当然容器也就退出了。

A Daemonized Hello world

守候进程化,即后台化。

执行如下命令:

root@iZ28ikebrg6Z:~# docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
d8eca97420317ae9f2fcd7655ab5c16c964d60f7bd644a8726ce473b075852d8

 -d 选项就是告诉docker,这个容器需要后台化。但是,为什么输出是一串看不懂的字符串,而不是每秒输出一次hello world呢?

这一长串东西叫做容器的ID,我们可以通过它使用容器。

root@iZ28ikebrg6Z:~# docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
d8eca9742031        ubuntu:14.04        "/bin/sh -c 'while t   3 minutes ago       Up 3 minutes                            mad_jones    

看到了吧,我们刚刚那个容器被列出来了。最后一列是名字,什么意思,docker都是一层层的增加的,具体后面细说,你执行一条命令,对你使用的镜像是没有影响的,但是你执行了毕竟是有数据或者其他的东西发生了变化,这个时候,docker给你自动取个名字(你可以指定名字),然后通过这个名字,就像一个新的镜像一样,后面你可以保存它。

打印日志:

root@iZ28ikebrg6Z:~# docker logs mad_jones
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world

停止任务:

root@iZ28ikebrg6Z:~# docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
d8eca9742031        ubuntu:14.04        "/bin/sh -c 'while t   43 minutes ago      Up 43 minutes                           mad_jones
root@iZ28ikebrg6Z:~# docker stop mad_jones
mad_jones
root@iZ28ikebrg6Z:~# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
root@iZ28ikebrg6Z:~# 

好了,hello world就到次结束。后续推出更加高级的教程。

时间: 2024-10-26 13:44:15

阿里云部署Docker(3)----指令学习的相关文章

阿里云部署Docker(5)----管理和发布您的镜像

出到这节,我在百度搜索了一下"阿里云部署Docker",突然发现怎么会有人跟我写的一样呢?哦,原来是其他博客系统的爬虫来抓取,然后也不会写转载自什么什么的.所以,我终于明白为什么那些大咖的文章总会在文章的开头写明,转载请注明原创来自xxx的.恩.get it,从这篇开始,我也要这样了. 本文欢迎转载,但要尊重本人劳动成果,转载注明转自"http://blog.csdn.net/minimicall/" http://blog.csdn.net/minimicall/

阿里云部署Docker(7)----将容器连接起来

路遥知马力,日久见人心.恩.该坚持的还是要坚持. 今天看到一个迅雷的师弟去了阿里,祝福他,哎,虽然老是被人家捧着叫大牛,我说不定通过不了人家的面试呢,哎,心有羞愧.  本文为本人原创,转载请表明来源:http://blog.csdn.net/minimicall 我们在阿里云上部署Docker服务系列教程已经到了第7节, 需要回顾的同学可以翻看我的博客. 今天,我们学习一下怎么将docker里面的容器连接起来.例如我是一个web服务,我需要用到mysql服务,如果它们属于不同的容器内,如果连接.

阿里云部署Docker(4)----容器的使用

通过上一节的学习,我们知道如何运行docker容器,我们运行了一个普通的,一个后台的,我们还学习了几个指令: docker ps - Lists containers. docker logs - Shows us the standard output of a container. docker stop - Stops running containers. 我们还可以查看下docker的版本: root@iZ28ikebrg6Z:~# docker version Client vers

阿里云部署Docker(9)----Dockerfile脚本定制你的镜像

本文为原创文章,转载需注明转自:http://blog.csdn.net/minimicall?viewmode=contents 技术爱好者都是比较懒的.而docker又是开发者支持起来的.所以,它肯定是有比较懒的方式供我们定制自己需要的东西. docker build docker 用build指令来执行dockerfile脚本. 具体的用法: sudo docker build . 小心后面那个点,表示当前目录.当前目录有一个Dockerfile的文件. 当然,你可以指定你建立的镜像的名字

阿里云部署Docker(9)----Dockerfile脚本定制镜像

本文为原创文章,转载需注明转自:http://blog.csdn.net/minimicall?viewmode=contents 技术爱好者都是比较懒的.而docker又是开发者支持起来的.所以,它肯定是有比较懒的方式供我们定制自己需要的东西. docker build docker 用build指令来执行dockerfile脚本. 具体的用法: [java] view plaincopy sudo docker build .   小心后面那个点,表示当前目录.当前目录有一个Dockerfi

阿里云部署Docker(6)----解决删除<none>镜像问题

转载请注明来源,本博客原创作者为:http://blog.csdn.net/minimicall?viewmode=contents 在Docker使用中,经常会碰到删除镜像不成功,反而让镜像变成了<none > <none>即,没名字,没Tag的镜像. root@iZ28ikebrg6Z:/var/run# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE <none> <none> de

阿里云部署Docker(8)----安装和使用redmine

安装redmine对过程进行管理. 需要说明的是:当你在docker images的时候,会说没连接到xxxx的时候,而且会提示用"docker -d",其实这只是把docker作为一个后台进程,但是当你的SecureCRT退出的时候,这个后台进程也是会被退出的.所以下次你又要.而且,数据很容易丢失. 正确的做法是. service docker start.记住咯. 好,redmine的安装和使用教程 https://registry.hub.docker.com/u/sameers

阿里云上Docker企业版之旅

阿里云上Docker企业版之旅 6月9号,Docker中国网站正式发布.在Docker中国官方镜像加速上线的同时,Docker企业版也可以从阿里云的云市场在线购买和试用了. Docker企业版基于社区版增加了面向企业的管理和安全能力,Docker企业版在国内由阿里云和Docker联合提供技术支持,为企业客户提供稳定.安全.可以信赖的容器应用平台.本文将介绍如何在阿里云上试用原汁原味的Docker企业版. 购买Docker企业版试用授权 首先访问阿里云云市场中Docker 企业版售卖页: http

阿里云携手Docker成国内官方伙伴首发?

本文讲的是阿里云携手Docker成国内官方伙伴首发?[IT168 云计算]对企业来说,他们需要的互联网产品应该具备两大特点:一是快速迭代,要能够快速响应用户需求的变化;二是要永远在线,面对用户随时爆发式的增长以及频繁的软件更新,够保持业务不中断.随着云基础设施的逐步普及,人们对于软件开发运维一体化(DevOps)和持续集成.持续交付(CICD)的迫切需求,促使下一代云计算创新技术逐步走出实验室,真正成为产品与解决方案落地企业级市场.通过下一代云平台,用户无需关心资源的申请,软件的部署.安装能都交