什么是 Docker
Docker 是一个基于Linux容器的高级容器引擎,基于go语言开发,源代码托管在 Github 上,遵从Apache2.0协议开源。Docker的目标是实现轻量级的操作系统虚拟化解决方案。Docker支持大部分的Linux发行版,通过使用Docker容器,就可以在不同的操作系统,不同的机器上运行自己的应用,不用关心硬件、运行环境之类的配置,应用程序的迁移变得非常简单。Docker 通过分层镜像标准化和内核虚拟化技术,Docker使得应用开发者和运维工程师可以以统一的方式跨平台发布应用,并且以几乎没有额外开销的情况下提供资源隔离的应用运行环境。
Docker 和传统虚拟化技术的对比
传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便,资源占用更少,启动更快,很大的方便了项目的部署和运维。
安装 Docker
1、设置存储库
|
|
|
|
如果遇到 WARNING:root:could not open file ‘/etc/apt/sources.list’ 可以通过修改文件权限后再重试以上命令
|
|
2、安装最新版本的docker-ce版本
3、测试安装是否成功
|
|
4、查看 docker 版本
安装 Docker Compose
1、通过 curl 下载最新版本(下面链接的 1.8.0 是版本号)
2、修改执行权限
3、测试安装是否成功
添加用户到 Docker 组
每次都输入 sudo docker … 太麻烦,把用户加入 docker 组就可以免去输入 sudo,操作如下:
使用阿里云 Docker 加速器
进入阿里云开发者平台 dev.aliyun.com ,注册一个帐号,然后登录。
管理中心 -> Docker镜像仓库 -> Docker Hub 镜像站点 -> Ubuntu -> 如何使用Docker加速器
其中 https://xxxxxxx.mirror.aliyuncs.com 是你的专属加速器地址,由阿里云自动生成,每个人的地址都不一样。
获取 Ubuntu 16.04 镜像
|
|
镜像是由多层存储所构成,下载也是一层层的去下载,并非单一文件。下载过程如下:
如果不使用加速器的话,下载镜像会非常缓慢,建议使用阿里云的加速器。
常用镜像很多,如:
mysql:5.7
redis
nginx
maven
docker 镜像的命名: <name>: <tag>,其中 tag 是版本信息,如果不用,则默认 lastest。
运行
有了镜像后,我们就可以以这个镜像为基础启动一个容器来运行。以上面的 ubuntu:16.04 为例,如果我们打算启动里面的 bash 并且进行交互式操作的话,可以执行下面的命令。
docker run 就是运行容器的命令。
-it:这是两个参数,一个是 -i:交互式操作,一个是 -t 终端。我们这里打算进入 bash 执行一些命令并查看返回结果,因此我们需要交互式终端。
–rm:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 –rm 可以避免浪费空间。
ubuntu:16.04:这是指用 ubuntu:16.04 镜像为基础来启动容器。
bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash。
进入容器后,我们可以在 Shell 下操作,执行任何所需的命令。这里,我们执行了 cat /etc/os-release,这是 Linux 常用的查看当前系统版本的命令,从返回的结果可以看到容器内是 Ubuntu 16.04.2 LTS 系统。
最后通过 exit 退出这个容器。
想了解更多关于 Docker 信息的可以查看最新的官方文档:https://docs.docker.com/
完!