Docker 从入门到实践 0.9.0(2017-12-31)内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作 系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容 器。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。 Docker Docker 时常常会混淆容器和虚拟机。 前面讲过镜像使用的是分层存储,容器也是如此。每一个容器运行时,是以镜像为基础层, 在其上创建一个当前容器的存储层,我们可以称这个为容器运行时读写而准备的存储层为容 器存储层。 容器存储层的生存周期和容器一样,容器消亡时,容器存储层也随之消亡。因此,任何保存 于容器存储层的信息都会随容器删除而丢失。 按照 Docker 最佳实践的要求,容器不应该向其存储层内写入任何数据,容器存储层要保持无 :交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。 --rm :这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容 器并不会立即删除,除非手动 docker rm 。我们这里只是随便执行个命令,看看结果, 不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。 ubuntu:16.04 :这是指用0 码力 | 370 页 | 6.73 MB | 1 年前3
Docker 从入门到实践 0.4从入门到实践 31 守护态运行 可以使用 docker stop 来终止一个运行中的容器。 此外,当Docker容器中指定的应用终结时,容器也自动终止。 例如对于上一章节中只启动了一个终端的容 器,用户通过 exit 命令或 Ctrl+d 来退出终端时,所创建的容器立刻终止。 终止状态的容器可以用 docker ps -a 命令看到。例如 sudo docker ps -a 和 ssl 认证)下的访问可以进行。此外,还可以使用 HTTPS 和证书来加强 保护。 最近改进的 Linux 名字空间机制将可以实现使用非 root 用户来运行全功能的容器。这将从根本上解决了容 器和主机之间共享文件系统而引起的安全问题。 终极目标是改进 2 个重要的安全特性: 将容器的 root 用户映射到本地主机上的非 root 用户,减轻容器和主机之间因权限提升而引起的安全问 题; privileged=true ,容器会被允许直接配置主机的网络堆栈。 --net=container:NAME_or_ID 让 Docker 将新建容器的进程放到一个已存在容器的网络栈中,新容 器进程有自己的文件系统、进程列表和资源限制,但会和已存在的容器共享 IP 地址和端口等网络资 源,两者进程可以直接通过 lo 环回接口通信。 --net=none 让 Docker 将0 码力 | 179 页 | 2.27 MB | 1 年前3
共 2 条
- 1













