zoukankan      html  css  js  c++  java
  • Decker hello world

    Docker 允许在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。

    输出Hello world

    root@ranxf:/home/ranxf# docker run ubuntu:15.10 /bin/echo "Hello world"
    Hello world

    各个参数解析:

    • docker: Docker 的二进制执行文件。

    • run:与前面的 docker 组合来运行一个容器。

    • ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。

    • /bin/echo "Hello world": 在启动的容器里执行的命令

    运行交互式的容器

    可通过docker的两个参数 -i -t,让docker运行的容器实现"对话"的能力

    root@ranxf:/home/ranxf# docker run -i -t ubuntu:15.10 /bin/bash
    root@8dddd902648a:/# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    root@8dddd902648a:/# cat /proc/version
    Linux version 4.13.0-38-generic (buildd@lgw01-amd64-027) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)) #43~16.04.1-Ubuntu SMP Wed Mar 14 17:48:43 UTC 2018
    root@8dddd902648a:/# exit
    exit
    root@ranxf:/home/ranxf# 

    启动容器(后台模式)

    使用以下命令创建一个以进程方式运行的容器

    root@ranxf:/home/ranxf# docker run -d ubuntu:15.10 /bin/sh -c "while true; do echo hello world; sleep 1; done"
    6202dc9ce5bf7b226326c12338bf64361b076f184f8e0bccfc454dca76ebd4f7
    root@ranxf:/home/ranxf# 

    在输出中,我们没有看到期望的"hello world",而是一串长字符

    2b1b7a428627c51ab8810d541d759f072b4fc75487eed05812646b8534a2fe63

    这个长字符串叫做容器ID,对每个容器来说都是唯一的,我们可以通过容器ID来查看对应的容器发生了什么。

    首先,我们需要确认容器有在运行,可以通过 docker ps 来查看

    root@ranxf:/home/ranxf# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    6202dc9ce5bf        ubuntu:15.10        "/bin/sh -c 'while t…"   5 minutes ago       Up 5 minutes                            serene_jackson
    root@ranxf:/home/ranxf# 

    CONTAINER ID:容器ID

    NAMES:自动分配的容器名称

    在容器内使用docker logs命令,查看容器内的标准输出

    root@ranxf:/home/ranxf# docker logs 6202dc9ce5bf
    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@ranxf:/home/ranxf# docker logs serene_jackson(容器名)
    hello world
    hello world
    hello world
    hello world
    hello world
    hello world
    hello world

    停止容器

    我们使用 docker stop 命令来停止容器:

    root@ranxf:/home/ranxf# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    6202dc9ce5bf        ubuntu:15.10        "/bin/sh -c 'while t…"   23 minutes ago      Up 23 minutes                           serene_jackson
    root@ranxf:/home/ranxf# 
    root@ranxf:/home/ranxf# 
    root@ranxf:/home/ranxf# 
    root@ranxf:/home/ranxf# docker stop 6202dc9ce5bf
    6202dc9ce5bf
    root@ranxf:/home/ranxf# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  • 相关阅读:
    UVa 839 -- Not so Mobile(树的递归输入)
    UVa 548 -- Tree
    UVA 122 -- Trees on the level (二叉树 BFS)
    UVa679 小球下落(树)
    POJ 2255 -- Tree Recovery
    POJ 1451 -- T9
    POJ 2513 -- Colored Sticks
    STL -- heap结构及算法
    nginx利用try_files实现多个源
    nginx location的优先级
  • 原文地址:https://www.cnblogs.com/ranxf/p/8868216.html
Copyright © 2011-2022 走看看