<dfn id='rG9WFmRd'></dfn>

        <noscript id='rG9WFmRd'></noscript>

      1. 频道栏目
        首页 > 系统 > Linux > 正文

        docker容器使用

        2019-02-21 10:28:05           
        收藏   我要投稿

        docker的指令比较多。可以通过:docker --help来查看所有的命令。

        这里拿一些比较常用的指令做一些操作和说明:

        如果不输出个hello,world。总会感觉少了点什么。。。。。。

        root@lchHostName:~# docker run ubuntu:latest /bin/echo "Hello world"
        Hello world
        root@lchHostName:~# 
        

        参数说明:

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

        查看所有容器:

        docker ps -a

        结果显示如下:

        root@lchHostName:~# docker ps -a
        CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
        9882e34a37e5        redis               "docker-entrypoint..."   4 minutes ago       Up 4 minutes                6379/tcp            priceless_wilson
        2fd577d50b86        ubuntu:latest       "/bin/echo 'Hello ..."   13 minutes ago      Exited (0) 13 minutes ago                       modest_colden
        b7daa3f081f6        nginx               "nginx -g 'daemon ..."   24 minutes ago      Exited (0) 14 minutes ago                       infallible_brattain
        root@lchHostName:~#

        run

        创建一个新的容器并运行一个命令。

        语法:

        docker run [OPTIONS] image [command] [ARG......]

        OPTIONS说明:

        -a stdin 指定标准输入输出类型,可选STDIN或STDOUT或STDERR

        -d 后台运行

        logs查看容器的 标准输出:

        docker logs 容器ID

        我们就拿上面拿到的一大把docker里挑一个容器ID为2fd577d50b86 的容器,看看它的标准输出内容都是什么:

        root@lchHostName:~# docker logs 2fd577d50b86
        Hello world
        root@lchHostName:~# 
        

        可以看到内容Hello world就是我们在文章开始时输出的内容。

        进入容器:

        docker exec -i -t 容器ID或名字 /bin/bash

        那如何退出容器?

        在容器里执行exit指令即可。

        stop 停止容器

        docker stop 容器名或容器ID

        接下来我们试着运行一个web应用程序:

        root@lchHostName:~# docker pull training/webapp
        Using default tag: latest
        latest: Pulling from training/webapp
        e190868d63f8: Pull complete 
        909cd34c6fd7: Pull complete 
        0b9bfabab7c1: Pull complete 
        a3ed95caeb02: Pull complete 
        10bbbc0fc0ff: Pull complete 
        fca59b508e9f: Pull complete 
        e7ae2541b15b: Pull complete 
        9dd97ef58ce9: Pull complete 
        a4c1b0cb7af7: Pull complete 
        Digest: sha256:06e9c1983bd6d5db5fba376ccd63bfa529e8d02f23d5079b8f74a616308fb11d
        Status: Downloaded newer image for training/webapp:latest
        root@lchHostName:~# 

        -d 让容器在后台运行

        -P 让容器IP映射到我们的主机上。

        此时再次用docker ps -a查看我们所有的容器。可以看到刚才起的那个WEB容器的PORT项多了端口信息:

        \

        0.0.0.0:32768->/tcp意思是我们主机上的32768端口映射到了容器的5000端口上。

        此时我们就访问一下32768端口的接口信息:

        root@lchHostName:~# curl "//172.18.165.68:32768"
        Hello world!root@lchHostName:~# 
        root@lchHostName:~# 
        

        打印了Hello world!

        我们也可以通过-p另起一个不同的端口:

        docker run -d -p 5000:5000 training/webapp python app.py

        \

        如果想查看某个容器的具体端口映射情况,也可以使用:

        docker prot 容器ID

        root@lchHostName:~# docker port 60982a2c3665
        5000/tcp -> 0.0.0.0:32768
        root@lchHostName:~# 
        

        查看WEB应用程序的日志:

        root@lchHostName:~# docker logs -f 60982a2c3665
         * Running on //0.0.0.0:5000/ (Press CTRL+C to quit)
        172.18.165.68 - - [29/Oct/2018 16:23:54] "GET / HTTP/1.1" 200 -
        

        -f 让日志文件像tail -f一样输出。

        检查web应用程序

        docker inspect 容器ID

        可以查看docker的底层信息。

        停止web容器、重启web容器和普通容器一样,也是stop 、start

        查询最后一次创建的是哪个容器:

        docker ps -l

        \

        移除容器:

        docker rm 容器名或容器ID

        注意:被移除的容器必须是停止状态,否则会删除失败。

        相关TAG标签 docker 容器 使用
        上一篇:cirros 修改网卡地址
        下一篇:Docker镜像使用
        相关文章
        图文推荐

        关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

        版权所有: 第一门户--致力于做实用的IT技术学习网站