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

[经验分享] 创建容器及Dokcer中运行应用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-4 09:07:16 | 显示全部楼层 |阅读模式
    我们确认docker是否正常工作,首先我们需要获取最新的centos镜像

    $docker pull centos:latest

    $docker images centos               查看Docker镜像

    [iyunv@docker ~]# docker images centos

    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

    centos              latest              7322fbe74aa5        6 weeks ago         172.2 MB

    $docker run -i -t centos /bin/bash  运行简单的bash shell来测试这个镜像创建

    创建Docker Hub账户

    这里有两种访问可以创建和注册一个Docker Hub账户:

     1.通过网站,或者

     2.通过命令行

    通过网站注册

    填写注册表单,选择您的用户名和密码并制定您的电子邮箱。你也可以报名参加docker邮件列表,会有很多关于docker的信息

    命令登录DockerHub

    $Docker login

    在Docker中运行"Hellow wrold"

    $Docker run centos /bin/echo 'hello world'      运行了第一个容器

    Docker run 都运行了那些步骤    我们指定了 Docker二进制中我们想要执行的命令,run。docker run 组合运行容器,运行的镜像是centos(当指定的镜像不存在时就会从公共镜像库下载),然后执行run 创建一个容器,然后告诉Docker在新容器运行什么命令 \bin\echo,就会看到结果 hello world,如果Docker容器输入指令激活时,这里只要hello word输出,容器就会停止。

    $docker run -t -i ubuntu:14.04 /bin/bash    -t和-i。-t标示在心容器内指定一个伪终端或终端,-i标示允许我们对容器内的STDIN进行交互。/bin/bash。这将在容器内启动bash shell;

    当你运行完一些命令,输入exit退出。

    $docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

    1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147

    docker但是我们指定了一个-d标识。-d标识告诉docker运行容器在后台模式运行。

    这是一个荒谬的hello word进程:一个脚本会一直输出"hello word"

    为什么不是我们看到的一大堆的"hello word"?而是docker返回的一个很长的字符串:

    1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147

    这个长的字符串叫做容器ID。它是容器的唯一标识,所以我们可以使用它。

     注意:容器ID是有点长并且非常的笨拙,稍后我们会看到一个断点的ID,某些方面来说它是容器ID的简化版。

    docker ps 命令必须确保容器正在运行

    #我们可以使用docker ps -a命令来查看(无需关心容器有没有运行)。docker ps命令可以查询docker进程的所有容器。

    [iyunv@docker ~]# docker ps -a   

    CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                    PORTS               NAMES

    d162d83800cf        centos:latest       "/bin/bash"            2 days ago          Exited (0) 2 days ago                         reverent_mclean     

    325af222cdd9        centos:latest       "/bin/echo 'hellow w   2 days ago                                                        naughty_stallman   

    6452d29e7540        centos:latest       "/bin/bash echo 'hel   2 days ago          Exited (126) 2 days ago                       adoring_mccarthy   

    db8321ced433        centos:latest       "/bin/bash"            2 days ago          Exited (0) 2 days ago                         silly_euclid        

    a1edce86da9b        centos:latest       "/bin/bash"            2 days ago          Exited (0) 2 days ago                         angry_goodall      

    41035d2328ea        centos:latest       "/bin/bash"            3 days ago          Exited (0) 3 days ago   

    docker ps命令会返回一些有用的信息,这里包括一个短的容器ID:d162d83800cf。自动分配了名称:reverent_mclean

    注意:docker会在容器启动的时候自动给容器命名,稍后我们可以看到我们如何给容器指定名称。

    我们需要在我们容器内使用docker logs命令(正在运行的容器内)。

    让我们给系统自动分配名称的容器使用这个命令。

$docker logs angry_goodalldocker logs   命令看起来想运行在容器内并且返回标准输出:这种情况下我们的命令输出hello word太棒了;停止这个后台进程容器。为此让我们使用docker stop命令停止。

$docker stop insane_babbagedocker stop命令会通知docker停止正在运行的容器。如果它成功了,它将返回刚刚停止的容器名称。通过docker ps命令来检查它是否还工作。  $ sudo docker ps CONTAINER ID  IMAGE         COMMAND               CREATED        STATUS       PORTS NAMES

运维网声明 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-93911-1-1.html 上篇帖子: Docker 数据管理 下篇帖子: Docker容器的跨主机访问
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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