zoukankan      html  css  js  c++  java
  • docker2

    容器的操作:
    $docker run IMAGE [COMMAND] [ARG...] : [COMMAND] [ARG...]是容器启动时运行的命令
    $docker run ubuntu echo ‘hello world’   :启动容器并输出helloworld
    
    启动交互式容器:
    $docker run -i -t IMAGE /bin/bash : 在容器启动时运行bash命令。
    -i : 容器的守护进程始终打开标准输入
    -t : 为创建的容器分配一个伪tty终端,这样新创建的容器才能提供一个交互试的shell
    
    $docker run -i -t ubuntu /bin/bash : 进入到了容器的bash中,就可以与新建立的容器进行交互,
    $ps -ef
    $exit : 退出这个交互式的容器
    
    $docker ps [-a] [-l] : -a列出所有创建的容器,-l列出最新创建的容器
    $docker ps -a : CONTAINER ID 是docker的守护进程在启动容器时为容器分配的唯一id,NAMES是docker的守护进程为容器分配的名字。
    
    $docker  inspect  53SDijuy678(容器的id) : 根据容器的id 返回容器的相关配置信息
    $docker run --name=容器名字 -i -t ubuntu /bin/bash : 创建一个容器带有名字
    $docker  inspect  容器名字 : 返回 ’容器名’ 容器的相关配置信息
    
    $docker start  [-i] 容器名 :重新启动某个容器,-i是以交互的方式启动
    $docker rm 容器名 :删除已经停止的容器
    上面的容器是交互式容器,在命令结束后就停止,长期运行的容器是守护试的容器,能够长期运行,没有交互式的会话,适合运行应用程序和服务。
    $docker run -i -t ubuntu /bin/bash : 启动交互式容器
    $ctrl P,ctrl Q 来退出容器,使用docker ps (不是docker ps  -a) 看到刚才建立的守护容器还在运行当中,docker  ps  -a是即使已经停止了也会显示出来。Dokcer  ps  是查看后台运行的容器。这就是后台容器。
    $docker attach 名字:进入后台运行的容器(不是后台运行的不能)
    启动守护式容器:
    $docker run -d 容器名 [COMMAND] [ARG...] : -d启动容器时以后台的方式启动。
    docker run --name=yw_shouhu_contain_2 -d ubuntu /bin/bash -c "while true ;do echo hello world;sleep 1;done" : 每隔一秒打印,-d只是以后台的形式运行命令,命令结束后容器依旧会停止,
    4cd6c45f7a3f498af2b92d21255221d91d3d8c29d6ff9e80c16e7a0f41f0ba77
    返回的是docker守护进程分配给容器的唯一id,
    yw1989@ubuntu:~$ 
    yw1989@ubuntu:~$ docker ps :可以看到容器一直在运行
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
    4cd6c45f7a3f        ubuntu              "/bin/bash -c 'while…"   4 minutes ago       Up 4 minutes                            yw_shouhu_contain_2
    可以通过容器的日志命令,查看容器内部的运行状况:
    $docker logs [-f] [-t] [--tail] 容器名
    -f: --follows=true|false,是否一直跟踪日志的变化并返回结果,为false就是值看到截止当前时间之前的,为true就是随时间变化一直在输出日志。
    -t:返回的结果上加上时间戳
    --tail:返回结尾处多少数量的日志,不指定就全部返回, --tail 10只显示10条。
    yw1989@ubuntu:~$ docker logs -tf --tail 10 yw_shouhu_contain_2
    2018-02-01T09:32:19.470722311Z hello world
    2018-02-01T09:32:20.472716990Z hello world
    2018-02-01T09:32:21.474790542Z hello world
    2018-02-01T09:32:22.476651366Z hello world
    2018-02-01T09:32:23.478520669Z hello world
    查看容器的进程:
    $docker top 容器名:查看运行中容器的进程情况。
    yw1989@ubuntu:~$ docker top yw_shouhu_contain_2
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                5306                5288                0                   01:20               ?                   00:00:00            /bin/bash -c while true ;do echo hello world;sleep 1;done
    运行的容器中启动新的进程:Docker是一个容器运行一种服务,仍旧需要在docker中运行多个进程,比如对运行中的容器监控和管理。
    $docker exec [-d][-i][-t] 容器名 [COMMAD][ARG...]
    -d:
    -i:
    -t:
    [COMMAD][ARG...]:是需要执行的命令和参数
    yw1989@ubuntu:~$ docker exec -i -t yw_shouhu_contain_2 /bin/bash :容器中启动一个新的bash会话,ctrl+p,ctrl+q退出bash,
    yw1989@ubuntu:~$ docker top yw_shouhu_contain_2 : 可以看到bash的进程已经运行在容器中了
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                5306                5288                0                   01:20               ?                   00:00:00            /bin/bash -c while true ;do echo hello world;sleep 1;done
    root                6883                5288                0                   01:43               pts/0               00:00:00            /bin/bash
    root                7018                5306                0                   01:45               ?                   00:00:00            sleep 1
    停止守护式容器:
    $docker stop 容器名:发送信号容器,等待容器的停止
    $docker kill 容器名:
    
    Ctrl+P ctrl+Q:将交互式的容器转到后台
    Docker run -d :启动守护式容器
    Docker logs :日志
    Docker top:进程
    
    
    在容器中部署静态网站:
    设置容器的端口映射:run [-P][-p]
    -P:为容器暴露的所有端口进行映射,-p指定映射哪些容器的端口。
    1.只指定容器的端口:docker run -p 80 -i -t ubuntu /bin/bash
    2.指定宿主机的端口和容器的端口,这样的端口映射就是一一对应的:docker run -p 8080:80 -i -t /bin/bash
    3.指定ip和容器的端口:docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
    4.指定ip、宿主机端口、容器端口:docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
  • 相关阅读:
    随笔之过账模版
    随笔之转移日记账
    模式窗口的处理方式
    生产领料的问题
    询问对话框,缓存用户设置
    AX2009 连接外部Orcal与SQL区别
    AX2012全新的批处理方式
    AX调用.dll
    AX在query中添加自己的函数
    Java通过代理上传文件到Azure blob
  • 原文地址:https://www.cnblogs.com/yaowen/p/8401002.html
Copyright © 2011-2022 走看看