4. 查看Docker镜像创建历史:

  docker history flaskhello

3. Docker提交镜像

docker build -t flaskhello .
docker run -p 4000:80 flaskhello
docker run -d -p 4000:80 flaskhello
docker tag flaskhello john/get-started:part1

 docker push xiaofeier312/learning:v0.1flaskhi

2.Docker 容器镜像删除

  1.停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q)

  如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q)

  2.查看当前有些什么images docker images

  3.删除images,通过image的id来指定删除谁 docker rmi <image id>

  想要删除untagged images,也就是那些id为<None>的image的话可以用docker rmi $(docker images | grep "^<none>" | awk "{print $3}") 要删除全部image的话 docker rmi $(docker images -q)

1. 在做练习的时候, 一直无法成功:

导出服务端口

# 将4444端口从容器导出,在容器内部通过nc监听到4444端口(nc是一个简单的监听器,可以接收用户的输入)
$ JOB=$(docker run -d -p 4444 ubuntu:12.10 /bin/nc -l 4444) # 通过docker port可以查看主机上哪一个端口映射到了容器的 4444端口(docker默认使用nat映射方式)
$ PORT=$(docker port $JOB 4444 | awk -F: '{ print $2 }') # 向主机的端口,发送hello world
$ echo hello world | nc 127.0.0.1 $PORT # 确认容器收到了hello world
$ echo "Daemon received: $(docker logs $JOB)"

剖析:

  • nc是一个简单的监听指定端口的程序
  • -p表示导出容器的指定端口,由于没有指定主机端口,因此是随机分配的
  • 外部程序可以通过主机的端口,间接访问容器的4444端口

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

分析发现 Ubuntu的docker镜像 没有很多命令, 先安装nc

apt-get install netcat

之后也一直无法用host连接镜像的端口,

于是在镜像里调试:

>>nc -l 4444&

>>nc 127.0.0.1 4444

发现报错, 根本无法连接

安装netstat,后查看nc的端口监听的不是4444

查看当前版本nc的帮助发现,当前版本,需要用

>>nc -l -p 4444

解决.

Docker 常用命令(二)的更多相关文章

  1. docker常用命令(二)

    把镜像保存到本为一个文件 docker save -o filename.tar imagename:tag 载入保存在本地的镜像 docker load < filename.tar 或者 d ...

  2. Docker常用命令(二)

    Docker常用命令 查看Docker所有正在运行的容器 docker ps 查看Docker已退出的容器 docker ps -a 查看Docker所有镜像 docker images 删除镜像 删 ...

  3. Docker应用二:docker常用命令介绍

     Docker常用命令使用介绍 docker中常用的命令: 1.docker search image_name:搜查镜像 2.docker pull image_name:从镜像库中拉去镜像 3.d ...

  4. 【Docker】(3)---linux部署Docker、Docker常用命令

    linux部署Docker.Docker常用命令 本次部署Linux版本:CentOS 7.4 64位. 说明: 因为Docker是基于Linux 64bit的 所以Docker要求64位的系统且内核 ...

  5. docker常用命令与容器创建

    ################docker安装##################### Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE. 社区版是免费提供给个 ...

  6. docker常用命令,及进入Tomcat的WebApps发布目录(就是进入docker容器后台目录)

    docker常用命令,及进入Tomcat的WebApps发布目录(就是进入docker容器后台目录)   一.常用命令 1.显示所有的容器,包括未运行的 docker ps -a   2.启动容器.注 ...

  7. Docker(三)Docker常用命令

    Docker常用命令 帮助命令 # 显示 Docker 版本信息 docker version # 显示系统信息,包括镜像和容器的数量 docker info # 查看帮助文档 帮助文档地址:http ...

  8. docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。

    一.docker常用命令? 1. 常用帮助命令 1.1 docker的信息以及版本号 /* docker info 查看docker的信息 images2 docker本身就是一个镜像. docker ...

  9. 『现学现忘』Docker常用命令 — 21、容器常用命令(三)

    目录 13.进入正在运行的容器并以命令行交互 (1)方式一 (2)方式二 (3)attach和exec的区别 14.从容器内拷贝文件到主机上 15.Docker常用命令小结 (1)容器生命周期管理 ( ...

随机推荐

  1. Maven+SpringMVC+SpringFox+Swagger整合示例

    查考链接:https://my.oschina.net/wangmengjun/blog/907679 coding地址:https://git.coding.net/conding_hjy/Spri ...

  2. P4715 「英语」Z 语言

    题解: 平衡树维护hash值 为了支持加入删除操作 x*base^y 其中y为他是第k大 同一般的维护方法,我们不用对每个节点维护他的hash值 而是只用记录他的x值(他的位置) 然后通过updata ...

  3. ThemeableBrowser在IOS中按钮图片的使用

    1. 首先确保图片的名称为 ***@1x.png, ***@2x.png 或 ***@3x.png iPhone —— iPhone3GS ***@1x.png iPhone —— iPhone6 * ...

  4. Linux 记录所有用户登录和操作的详细日志

    1.起因 最近Linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录. 一般大家通常会采用history来记录,但是history有个缺陷就是默认是1000行 ...

  5. Spring Data Redis实现消息队列——发布/订阅模式

    一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式.利用redis这两种场景的消息队列都能够实现. 定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列, ...

  6. echarts入门

    一直好奇,今晚就学习了一番,算是入门的级别,学习总是一个渐进的过程. 一路记录,一路足迹. 一:学习资料 1.主要参考的代码 https://github.com/shengxinjing/imooc ...

  7. javascript监听数组变化

    , ]; ); , ]; ); , ]; ); ]; , ]; ); ); ); break; } if (inserted) { ob.observeArray(inserted); } // 通知 ...

  8. anaconda源配置

    1. 生成配置文件 第一次运行 conda config命令时,将会在用户的home目录创建该文件..condarc配置文件,是一种可选的(optional)运行期配置文件,其默认情况下是不存在的. ...

  9. [ 高危 ] mt SQL注入

    RANK  28 金币    28 不是很核心的系统,但是这个检测方法挺新鲜的 数据包 POST /XXXpital HTTP/1.1Content-Length: 96Content-Type: a ...

  10. PostgreSQL 创建触发器 Trigger

    触发器的知识点: PostgreSQL在以下情况下执行/调用触发器:在尝试操作之前(在检查约束并尝试INSERT,UPDATE或DELETE之前).或者在操作完成后(在检查约束并且INSERT,UPD ...