专栏首页耕耘实录《Docker 实战》干货分享

《Docker 实战》干货分享

《Docker 实战》干货分享

最近读完了 Jeff Nickoloff 的《Docker 实战》,不知道是中文翻译还是书原本就这样,感觉很一般,但是也有不少干货,读完感觉还可以,把其中几条我觉得还可以的干货分享出来,班门弄斧了,希望对大家有所帮助。

1.A 容器名称为:AA,缺少相关调试工具,比如:top,先需要对 A 容器进行调试,可使用 --pid 选项从另外一个包含该工具的镜像创建一个容器进行调试。命令格式如下:

docker run -it --rm --pid=container:AA NewImage /bin/bash

如果依赖容器退出,那么带 --pid 选项的容器也将直接退出。

2.Docker 中 stop 和 kill 的区别:kill 直接执行 kill -9,强行终止;stop 先给容器发送一个 TERM 信号,让容器做一些退出前必须的保护性、安全性操作,然后让容器自动停止运行。如果在一段时间内,容器还是没有停止,那么再进行 kill -9,强行终止。

3.将创建的容器的 ID 写入指定文件: --cidfile /${CustomFile} ,例如:

docker run -it --rm --cidfile ~/cid.txt centos:7.4.1708

需要注意的是:该文件末尾无空格也无换行符。如果该文件已经存在,无论该文件是否为空,那么是无法创建新容器的。

4.使用了 host 网络模式的容器不再支持 -p 选项指定暴露端口,直接由原容器进程绑定的端口向外暴露端口。

5.Docker 中,支持多个主机端口同时映射到同一个容器端口。如:

docker run -itd -p 8089:80 -p 8090:80 --rm httpd:latest

6.Docker 中,docker port container_name/id 可以直接获取容器内端口映射关系。如:

 docker port 52

显示如下:

80/tcp -> 0.0.0.0:8090
80/tcp -> 0.0.0.0:8089

7.Docker 中,--expose 可以增加一个对外暴露的端口。如:

docker run -it --rm --expose 8080 --expose 8088 httpd:latest

8.Docker 中,–icc=false 选项可以禁止容器间通信。

9.Docker 还不支持 USR 命名空间,容器上的用户和组 ID 与主机上具有相同 ID 的用户和组是等效的。如果容器内部没有相关的用户和组 ID,那么容器将以 -u 选项指定的 UID 和 GID 读写文件。如果 -u 选项指定的用户不存在,那么容器将不能正常运行。

10.在 Dockerfile 指定的 USER 如果在系统的 passwd 文件中不存在,那么该镜像是无法构建成功的。

11.使用 load 和 import 导入镜像时,可直接导入 xz、gzip、bzip2 压缩过的文件。zip 压缩过的文件需解压之后再导入。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 在以 CentOS7.6 为基础镜像的 Docker 容器中通过 NFS 将内存挂载成高速硬盘使用

    版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转...

    耕耘实录
  • Docker中未指定挂载点容器间volume卷的数据共享

    在实际使用过程中,我们可能会经常遇到容器间数据共享的情况,怎么处理呢?通过 docker 命令中的一些选项,我们即可完成容器间的数据共享。

    耕耘实录
  • Docker初体验,向Docker Hub推送第一个本地镜像

    版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

    耕耘实录
  • 如何修改Docker容器的端口映射

    院长技术
  • 容器与云浅析与基础知识

    比较 Docker-Swarm、Kubernetes 和 Mesos 容器技术,虽然所有这三种技术都使得使用容器来部署、管理和伸缩应用成为可能,但实际上它们各自...

    WeiyiGeek
  • Docker(33)- 如何修改 docker 容器的端口映射

    https://www.cnblogs.com/poloyy/category/1870863.html

    小菠萝测试笔记
  • Docker镜像创建容器的几种方法

    每个容器都是由镜像创建的应用程序的一个实例,并且一个主机系统可以运行多个容器,每个容器都是隔离的。接下来,我将介绍如何创建、使用和管理容器。

    角落的白板报
  • Docker入门实战(一)——Docker常用命令

    什么是Docker? Docker containers wrap a piece of software in a complete filesystem...

    大闲人柴毛毛
  • 实战训练营:传统分布式架构如何进行容器化升级 顶

    前言:随着以Docker为典型代表的容器化理念逐渐兴起,众多的使用分布式架构的公司和企业,开始考虑对原有系统进行容器化升级。传统分布式架构为什么需要容器化?容器...

    个推君
  • 如何在Linode上使用Docker部署nginx容器

    根据Docker官网(Docker.com)的说法,容器应该是一个“轻量级,独立的,可执行的软件包,包括运行它所需的一切:代码,运行时,系统工具,系统库和设置。...

    Noel

扫码关注云+社区

领取腾讯云代金券