• docker容器操作



    Docker运行容器需要一个命令

    sudo docker run

    注:运行容器分为两种,一种是新建一个容器运行,另一种是运行已经终止了的容器

    最简单的docker应用

    sudo docker run ubuntu:14.04 /bin/echo 'Hello world'

    这里指定一个镜像:ubuntu 14.04。这是我们容器中运行的来源。docker称这个为镜像

    当你指定一个镜像,docker会查看这个镜像是否有一次加载到你的docker主机上,如果没有发现,docker就会在镜像仓库Docker Hub下载公共镜像

    只要"hello word"被输出,容器就会停止

    注意:如果出现找不到index.docker.io或者registry-1.docker.io等,可以ping一下,然后把得到的IP加入hosts中,有点奇怪


    运行一个交互式的容器

    sudo docker run -t -i ubuntu:14.04 /bin/bash


    创建一个容器,让它以守护进程的模式运行

    sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"

    -d 标识告诉docker运行容器在后台模式运行

    没有看到输出的 hello world ,而是输出了一个很长的字符串,

    这个长的字符串叫做容器ID。它是容器的唯一标识,所以我们可以使用它。


    查看docker正在运行的容器

    sudo docker ps

    这里的CONTAINER ID和NAMES则是自动分配的短ID和名称,这个短ID和上面的长ID作用是一样的

    docker会在容器启动的时候自动给容器命名,当然也可以自己给容器指定名称

    那么hello world 的输出到哪儿了?

    sudo docker logs tender_mclean

    停止正在运行的后台容器

    sudo docker stop tender_mclean


    之前的一些例子都没什么实际的作用,运行一个web容器

    sudo docker run -d -P training/webapp python app.py

    -P 标示通知Docker所需的网络端口映射从主机映射到我们的容器内

    我们指定了training/web镜像。这个预先建立好的镜像被我们创建后就已经包含了简单的python应用程序环境

    看已经停止的容器请 -a 标示

    在这种情况下,docker开放了5000端口(默认Phtyon端口)映射到主机端口49155上

    Docker可以配置绑定网络端口。在最后一个例子中-P标示,是-p 5000的快捷方式,-p 5000可以使端口5000映射到外部的端口(49000到49900端口)。我们也可以指定 -p 标示来指定端口

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

    测试(用浏览器打开或者CURL)


    使用docker port可以指定容器ID或者名字映射到主机端的端口号

    sudo docker port kickass_mayer 5000

    在这种情况下,我们看到端口5000映射到容器外的主机端口


    查看web应用容器日志

    sudo docker logs -f kickass_mayer

    -f 即 tail -f 的意思,查看容器的标准输出


    查看容器进程

    sudo docker top kickass_mayer


    Docker的底层信息。它会返回一个JSON文件记录docker容器的配置和状态信息

    sudo docker inspect kickass_mayer

    对我们想要的信息缩小显示,例如,返回容器的IP地址

    sudo docker inspect -f '{{ .NetworkSettings.IPAddress }}'  kickass_mayer


    停止容器

    sudo docker stop kickass_mayer

    重启容器

    sudo docker start kickass_mayer

    删除容器

    sudo docker rm kickass_mayer

    注意:不能删除正在运行的容器,这样会保护意外删除可能需要的运行中容器


    进入容器

    如果一个容器后台运行了,但是想进入

    sudo docker attach container_name

    导出容器

    sudo docker export 7691a814370e > ubuntu.tar

    导入容器

    cat ubuntu.tar | sudo docker import - test/buntu:v1.0

    也可以通过URL

    sudo docker import http://example.com/exampleimage.tgz example/imagerepo

    欲为大树,何与草争;心若不动,风又奈何。
  • 相关阅读:
    wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容)
    32:从1到n整数中1出现的次数
    31:连续子数组的最大和
    30:最小的K个数
    29:数组中出现次数超过一半的数字
    28:字符串的排列
    27:二叉搜索树与双向链表
    26:复杂链表的复制
    25:二叉树中和为某一个定值的路径
    24:二叉搜索树的后序遍历序列
  • 原文地址:https://www.cnblogs.com/admln/p/docker-container-operate.html
Copyright © 2020-2023  润新知