Docker快速安装与简要配置

1. 安装1.1 确保删除旧版本DOCKER$ sudo yum remove docker \ docker-common \ docker-selinux \ docker-engine1.2 安装所需要的包安装所需要的依赖包,包括 yum-utils , device-mapper-persistent-data 和 lvm2. $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm21.3 配置yum的docker仓库$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo1.4 安装DOCKER CE安装docker ce为社区版。ee是企业级。 $ sudo yum install docker-ce docker-ce-cli containerd.io# 安装指定版本$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io安装成功后可查看版本号表示安装成功 [root@VM_0_16_centos ~]# docker --versionDocker version 18.09.6, build 481bc771562. 启动2.1 启动DOCKER$ sudo systemctl start docker2.2 配置开机启动DOCKER$ sudo systemctl enable docker3. 配置3.1 修改镜像加速器针对国内网络情况,访问docker仓库存在网络慢的问题。下面使用的是国内的加速器 ...

June 26, 2019 · 1 min · jiezi

容器和容器镜像的区别,您真的了解吗

很多刚刚接触容器技术的朋友,不容易弄清楚容器,容器镜像和Docker这几个词的区别和联系。我们首先来看容器和容器镜像。举个例子,执行命令行docker search nginx,搜索结果的一条条记录就是一个个容器镜像。所谓镜像,就是一个静态概念,一个镜像由若干只读层(read-only layer)构成。上图左边是Docker镜像的内部实现细节,我们能看到多个只读层叠加在一起,层与层之间通过指针关联,这些层能够在运行Docker的宿主机的文件系统上访问到。Linux的统一文件系统(union file system)技术将这些叠加的只读层合并成一个文件系统,该系统为这些只读层提供了一个统一的视角,从而为Docker的用户隐藏了多层的存在。从Docker用户的视角出发,一个Docker镜像只存在一个文件系统,即上图右边所示。这些文件系统的设计是Docker实现细节,一般情况下我们不用去深究。但如果您足够好奇,使用命令sudo tree浏览目录 /var/lib/docker即可:比如我用命令docker images浏览下载到本地的docker镜像:其中一个叫jerry-nginx的镜像,是一个web应用,它的所有内容能在/var/lib/docker目录下的这个目录查到:讲完了容器镜像,我们再来看容器。容器和容器镜像一样,也是若干层的叠加,唯一区别是所有只读层的最上面一层,是一层可读可写层,如上图绿色图例所示。初学者可以记住这个简单的公式:容器 = 容器镜像 + 可读可写层我们如果用命令docker ps –all查看本机所有容器列表,会发现有的容器处于运行状态,有的处于退出状态。因此,一个处于运行状态的容器(running container)包含一个可读写的文件系统加上隔离的进程空间。容器里的进程可以对这个可读写文件系统内的文件进行修改、删除、创建等操作。镜像里每一层其实都能在docker文件夹的containers子目录下找到:上图每一个红色文件夹代表镜像里的一层,蓝色文件包含了该层运行时的日志文件,或者网络相关配置等。做个实验:ubuntu这个容器执行结束后,使用find / -name i042416.txt文件,这说明docker运行时能对宿主机的文件系统进行写操作。下面分析几个常用的易混淆的命令。docker create <image-id>先看它的帮助文档:试着执行以下:产生一个输出id:7ee10851c3f1e53bbd35e5f196f34de560afa1a20d9bf1ced587630dbcda877bcreate创建的容器,状态变为created:docker create命令给通过命令行传入的容器镜像创建了一个新的可读可写层,从而生成了一个新的容器实例:然后再执行docker start,输入docker create创建的容器实例ID,就可以启动这个容器实例了。而docker run其实就是docker create和docker start这两个命令合二为一的版本。希望这篇文章能帮助大家理解容器和容器镜像的区别。要获取更多Jerry的原创文章,请关注公众号"汪子熙":

December 21, 2018 · 1 min · jiezi