美文网首页
Docker - 运行

Docker - 运行

作者: 一技破万法 | 来源:发表于2020-07-31 19:35 被阅读0次

    使用官方安装脚本自动安装

    curl -sSL https://get.daocloud.io/docker | sh
    

    Docker在容器内运行应用程序

    输出hello

    docker run ubuntu:18.04 /bin/echo "hello"
    

    参数解析:

    docker: Docker的二进制执行文件.
    run: 与前面的docker组合来运行一个容器.
    ubuntu: 指定要运行的镜像,Docker首先从本地主机查找镜像是否存在,如果不存在,Docker就会从镜像仓库Docker Hub下载公共镜像
    /bin/echo "Hello world": 在启动的容器里执行的命令

    运行交互式的容器

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

    runoob@runoob:~$ docker run -i -t ubuntu:18.04 /bin/bash
    root@0123ce188bd8:/#
    
    

    各个参数解析:

    -t: 在新容器内指定一个伪终端或终端。

    -i: 允许你对容器内的标准输入 (STDIN) 进行交互。
    注意第二行 root@0123ce188bd8:/#,此时我们已进入一个 ubuntu15.10 系统的容器
    我们尝试在容器中运行命令 cat /proc/version和ls分别查看当前系统的版本信息和当前目录下的文件列表

    root@0123ce188bd8:/#  cat /proc/version
    Linux version 4.4.0-151-generic (buildd@lgw01-amd64-043) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~18.04.10) ) #178-Ubuntu SMP Tue Jun 11 08:30:22 UTC 2019
    root@0123ce188bd8:/# ls
    bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    root@0123ce188bd8:/# 
    

    我们可以通过运行 exit 命令或者使用 CTRL+D 来退出容器。

    root@0123ce188bd8:/#  exit
    exit
    root@runoob:~# 
    

    注意第三行中 root@runoob:~# 表明我们已经退出了当期的容器,返回到当前的主机中。

    启动容器(后台模式)

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

    runoob@runoob:~$ docker run -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
    
    3d08ea3c4f750d95d8a0396ee0dce000f7337fdc3dc91b84baead01b51571828
    

    在输出中,我们没有看到期望的 "hello world",而是一串长字符
    3d08ea3c4f750d95d8a0396ee0dce000f7337fdc3dc91b84baead01b51571828
    这个长字符串叫做容器 ID,对每个容器来说都是唯一的,我们可以通过容器 ID 来查看对应的容器发生了什么。
    首先,我们需要确认容器有在运行,可以通过 docker ps 来查看:

    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    3d08ea3c4f75        ubuntu:18.04        "/bin/sh -c 'while t…"   7 minutes ago       Up 7 minutes                            gifted_poincare
    

    输出详情介绍:
    CONTAINER ID: 容器 ID。
    IMAGE: 使用的镜像。
    COMMAND: 启动容器时运行的命令。
    CREATED: 容器的创建时间。
    STATUS: 容器状态。
    状态有7种:
    created(已创建)
    restarting(重启中)
    running(运行中)
    removing(迁移中)
    paused(暂停)
    exited(停止)
    dead(死亡)
    PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
    NAMES: 自动分配的容器名称。
    在宿主主机内使用 docker logs 命令,查看容器内的标准输出:

    sudo docker logs 3d08ea3c4f75 
    

    输出:

    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    hello
    

    停止容器

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

    sudo docker stop 3d08ea3c4f75 
    

    再通过docker ps查看容器状态,容器关闭:

    sudo docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    
    一技破万法

    相关文章

      网友评论

          本文标题:Docker - 运行

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