美文网首页
Docker之二--容器中的Hello world,网页应用

Docker之二--容器中的Hello world,网页应用

作者: lucasdada | 来源:发表于2016-12-09 17:50 被阅读0次

    Docker到底在干么?
    Docker允许你在容器中去运行程序,创建自己的世界。所以请使用docker run。
    注意:Docker的一些命令是需要管理员权限的,也就是说前面需要添加 sudo才能执行的,为了避免每次都要输入sudo,你可以创建一个名为docker的组然后往里面添加用户。


    执行Hello World
    在终端中输入一下命令:

    $ docker run ubuntu /bin/echo 'Hello world'
    Hello world
    

    你启动了自己的第一个程序。

    运行一个交互的容器

    $ docker run -t -i ubuntu /bin/bash
    root@af8bae53bdd3:/#
    

    -t :该标志在容器内分配一个pseudo或者终端pseudo-tty
    -i:该标志允许你通过容器的标准输入【STDIN】来创建创建一个交互的连接

    容器启动,如下:

    root@af8bae53bdd3:/#
    

    试试一些linux下的命令吧!
    退出的话,用

    exit
    

    或者快捷键Ctrl+d。
    注意,一旦Bash shell进程结束之后,这个容器也就停止运行.

    Start a daemonized Hello world

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

    在这个命令中:
    docker run 运行这个容器
    -d 标志让容器在后台运行(让它成为守护程序)(to daemonize it).
    ubtntu 是你想要去运行的镜像

    最后我们指定了要运行的命令

    /bin/sh -c "while true; do echo hello world; sleep 1; done"
    

    在终端的输出中,我们看到了:

    1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147
    

    这串长长的字符串是容器ID,它唯一确定了一个容器。

    注意:容器ID有点长而且很笨拙。之后,我们会使用简短的ID或者命名容器来使得容器更加容易使用。
    

    我们可以使用容器ID去看看hello world 这个守护进程在干么。

    首先,我们要确保容器实在运行的。用docker run 查看当前运行的Docker daemon。

    $ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES1e5535038e28 ubuntu /bin/sh -c 'while tr 2 minutes ago Up 1 minute insane_babbage
    

    1e5535038e28 是容器ID的简短变体
    ubuntu是使用的镜像

    注意:Docker会自动已经开始运行的容器生成名字。之后会将带如何自己去自定义名字。
    

    现在,我们知道容器有在运行了,但是它真的执行了我们想要去执行的内容么?可以查看输出日志。
    docker logs insane_babbage

    $ docker logs insane_babbage
    
    hello world
    hello world
    hello world
    . . .
    

    docker logs查看了容器,然后返回了 hello world

    Oyeah,这个daemon已经在工作。我们创建了自己的Dockerized application!
    接下来我们使用

    docker stop
    

    去停止该容器。

    $ docker stop insane_babbageinsane_babbage
    
    docker stop
    

    告诉Dockers要停止容器的运行,然后返回了这个容器的名字。
    用docker ps检查一下。确实是关闭了。

    ```
    $ docker ps

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    ```

    相关文章

      网友评论

          本文标题:Docker之二--容器中的Hello world,网页应用

          本文链接:https://www.haomeiwen.com/subject/fyfymttx.html