zoukankan      html  css  js  c++  java
  • Docker系列03-容器Docker镜像的使用

    Docker镜像的使用
    前两个章节,介绍了容器的相关基础知识,这章我们介绍镜像的简单使用,镜像hub里面有来自于全世界贡献的各种镜像,包括一些入门和学习练手的镜像,今天我们使用的正式其中一个用于学习练习的镜像(https://github.com/docker-training/webapp)

    下载启动容器

    #先把镜像pull下来
    docker pull training/webapp

    #查看当前镜像列表
    docker images

    #可以看到我们刚才下载的webapp
    REPOSITORY TAG IMAGE ID CREATED SIZE
    training/webapp latest 6fae60ef3446 4 years ago 349MB

    #运行webapp实例
    #-d是后台运行
    #-P是实例网络映射到本机,因为这个webapp是会监听tcp端口,加上这个参数容器里面的监听tcp端口跟本机的tcp端口,这样我们就直接在本机访问对应的端口就可以跟容器实例监听的端口建立连接
    docker run -d -P training/webapp python app.py

    #查看运行实例情况
    docker ps -a

    #返回信息
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    5da522ffe229 training/webapp "python app.py" 2 minutes ago Up 2 minutes 0.0.0.0:1024->5000/tcp laughing_pike

    #从返回的信息可以看到,容器里面监听的5000端口映射到本机的1024端口,我们试试访问本机的1024端口看看
    curl http://127.0.0.1:1024/

    #返回
    Hello world!
     

    进入容器环境
    上面的例子是在外部访问容器,我们试试进入容器环境里面看看具体情况。


    #查看当前在运行的容器实例列表
    docker ps -a

    #返回信息
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    5da522ffe229 training/webapp "python app.py" 8 minutes ago Up 8 minutes 0.0.0.0:1024->5000/tcp laughing_pike

    #我们要进入的容器实例ID是 5da522ffe229
    #使用exec命令,同时运行bash,-it是交互命令终端
    docker exec -it 5da522ffe229 /bin/bash

    #运行之后,我们会发现,命令行终端已经发生变化,进入了实例 5da522ffe229 里面
    root@5da522ffe229:/opt/webapp#

    #运行一下netstat看看监听情况
    netstat -lnp

    #看到了,我们之前运行的webapp监听了5000的内部端口
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN -

    #我们试着运行访问5000端口,提示 bash: curl: command not found
    #因为我们进入了容器的隔离环境,还没有装curl
    curl http://127.0.0.1:5000/

    #我们先安装curl
    apt-get update; apt install -y curl

    #安装成功之后,再运行
    curl http://127.0.0.1:5000/

    #这次可以成功返回信息
    Hello world!

    #退出当前容器环境,命令行提示又回到本机了
    ctrl+d
     

    其他使用功能

    #查看指定容器实例的log日志
    docker logs -f 5da522ffe229

    #查看指定容器实例的top
    docker top 5da522ffe229

    #查看指定容器的端口信息
    docker port 5da522ffe229

    #查看指定容器的配置信息
    docker inspect 5da522ffe229
     
    ————————————————

  • 相关阅读:
    hdu 3579 Hello Kiki (中国剩余定理)
    hdu 1573 X问题 (非互质的中国剩余定理)
    poj 2891 Strange Way to Express Integers (非互质的中国剩余定理)
    查看cache中消耗性能的语句
    sqlserver2008 R2中查找未使用过的索引
    【转】如何新建索引:高开销的缺失索引
    查看sqlserver 2008中性能低下的语句
    经典
    符合条件的记录有则修改没有则添加的小优化技巧
    测试分区表,以及在现有表上新建分区方案,以及把分区表变为普通表测试代码!!
  • 原文地址:https://www.cnblogs.com/eflypro/p/11660301.html
Copyright © 2011-2022 走看看