zoukankan      html  css  js  c++  java
  • docker探索-docker容器基本操作(五)

    1、创建一个容器并启动

    1.1、docker hello word

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

    输出Hello world

    [root@jacky ubantu]# 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": 在启动的容器里执行的命令

    1.2、创建交互式容器并启动

    [root@jacky jacky]# docker run --dns 8.8.8.8 --dns 8.8.4.4 -it -P centos:7.2.1511 /bin/bash

    各个参数说明:

    • --dns 指定容器使用的DNS服务器,默认和宿主一致
    • -P(大写P)    将容器的80端口映射到主机随机端口

    1.3、创建守护式容器并启动

     使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data。

    docker run -p 80:80 -v /data:/data -d nginx:latest

    2、查看本机所有容器

    [root@jacky jacky]# docker ps -a
    CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS                      PORTS                NAMES
    9ea0980c3261        nginx:latest         "nginx -g 'daemon off"   15 hours ago        Up 15 hours                 0.0.0.0:80->80/tcp   boring_hawking
    25caf2714fe6        ubuntu:15.10         "/bin/bash"              16 hours ago        Exited (0) 16 hours ago                          houtai-ubuntu
    669a12e3d6a3        ubuntu:15.10         "/bin/bash"              16 hours ago        Exited (0) 16 hours ago                          loving_shirley
    1b2abcfbf999        ubuntu:15.10         "/bin/echo 'Hello wor"   16 hours ago        Exited (0) 16 hours ago                          jolly_kirch
    574b3a74c7b2        jacky/ubuntu:14.05   "/bin/bash"              17 hours ago        Up 16 hours                 22/tcp, 80/tcp       distracted_meitner
    6c76dd14454d        5ae9a10a7f42         "/bin/sh -c 'apt-get "   17 hours ago        Exited (100) 17 hours ago                        condescending_leavitt
    488f3af35f5e        centos:7.2.1511      "/bin/bash"              18 hours ago        Exited (0) 17 hours ago                          drunk_poitras
    41b69d7a222e        centos:7.2.1511      "/bin/bash"              18 hours ago        Exited (130) 18 hours ago                        thirsty_feynman

    3、查看正在运行的容器

    [root@jacky jacky]# docker ps
    CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                NAMES
    9ea0980c3261        nginx:latest         "nginx -g 'daemon off"   15 hours ago        Up 15 hours         0.0.0.0:80->80/tcp   boring_hawking
    574b3a74c7b2        jacky/ubuntu:14.05   "/bin/bash"              17 hours ago        Up 16 hours         22/tcp, 80/tcp       distracted_meitner

    4、停止正在运行的容器

    [root@jacky jacky]# docker stop 9ea0980c3261

    9ea0980c3261表示容器Id

    5、运行已经创建好的容器

    [root@jacky jacky]# docker start 9ea0980c3261
    9ea0980c3261
    [root@jacky jacky]# docker ps 
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
    9ea0980c3261        nginx:latest        "nginx -g 'daemon off"   15 hours ago        Up 37 seconds       0.0.0.0:80->80/tcp   boring_hawking
    [root@jacky jacky]# 

    6、删除容器

    [root@jacky jacky]# docker rm 41b69d7a222e
    41b69d7a222e

    7、查看正在运行的容器

    [root@jacky jacky]# docker inspect 488f3af35f5e

    说明:如果容器是centos、utuntu等等操作系统容器,是可以看到容器的Ip地址和dns信息

    8、进入到容器中

    [root@jacky jacky]# docker attach 488f3af35f5e
    [root@488f3af35f5e /]# 

    9、查看容器的端口映射

    [root@jacky jacky]# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
    9ea0980c3261        nginx:latest        "nginx -g 'daemon off"   16 hours ago        Up 11 minutes       0.0.0.0:80->80/tcp   boring_hawking
    [root@jacky jacky]# docker port 9ea0980c3261
    80/tcp -> 0.0.0.0:80

    通过docker ps 命令可以查看到容器的端口映射,docker还提供了另一个快捷方式:docker port,使用 docker port 可以查看指定 (ID或者名字)容器的某个确定端口映射到宿主机的端口号

    10、查看容器内部运行进程

    [root@jacky jacky]# docker top 9ea0980c3261
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                82106               82092               0                   10:11               ?                   00:00:00            nginx: master process nginx -g daemon off;
    101                 82132               82106               0                   10:11               ?                   00:00:00            nginx: worker process

    11、查看容器运行日志信息

    docker logs -f 7a38a1ad55c6
    

    -f:让 dokcer logs 像使用 tail -f 一样来输出容器内部的标准输出。

  • 相关阅读:
    Delphi中 StrToIntDef函数的用法:
    Delphi判断文件夹(目录)是否存在,不存在就创建一个,可以一次创建多级目录
    Delphi中Format的字符串格式化使用说明
    linux下可变参数打印
    c++11 thread
    QMessageBox 使用
    Ubuntu虚拟机配置nfs
    test
    Qt 布局时组建不贴边
    QPainter 居中写字
  • 原文地址:https://www.cnblogs.com/520playboy/p/7845644.html
Copyright © 2011-2022 走看看