zoukankan      html  css  js  c++  java
  • 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

    欲为大树,何与草争;心若不动,风又奈何。
  • 相关阅读:
    XAML学习笔记之Layout(五)——ViewBox
    XAML学习笔记——Layout(三)
    XAML学习笔记——Layout(二)
    XAML学习笔记——Layout(一)
    从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
    从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server 2012 AlwaysOn 第一篇(AD域与DNS)
    Sql Server 2012 事务复制遇到的问题及解决方式
    Sql Server 2008R2升级 Sql Server 2012 问题
    第一次ACM
  • 原文地址:https://www.cnblogs.com/admln/p/docker-container-operate.html
Copyright © 2011-2022 走看看