Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
说下我的理解吧,docker和Java有点类似的地方,我不是说都是编程语言,是指思想,都存在面向对象思想,继承等。也都有装箱和拆箱机制,口号也都是一次BB到处运行。不过Java的一次BB到处运行是指在有jvm环境下才能实现。再说下docker docker作为一款强大到BOOM的容器docker实现了一次BB到处运行,你可以利用docker下载你需要的镜像包,然后再docker提供的api里进行操作。差不多就是安装包模式下的虚拟机,一个服务一个虚拟机而速度又非常的快。Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应用服务的镜像制作成本。
理解docker
镜像(Image)
容器(Container)
仓库(Repository)
标题 | 说明 |
---|---|
镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板。 |
容器(Container) | 容器是独立运行的一个或一组应用。 |
客户端(Client) | Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。 |
仓库(Registry) | Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。 |
Docker Machine | Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。 |
docker 架构
下面说下docker安装
大多以centos安装,但我虚拟机装的是Ubuntu 16.04
root命令下:
apt-get update apt-get -y install apt-transport-https ca-certificates curl software-properties-common
安装 GPG 证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
写入软件源信息
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get -y update apt-get -y install docker-ce
启动docker ce
systemctl enable docker
systemctl start docker
你也可以不按上面的步骤下载docker,可以使用下面脚本安装 会提示有风险 等个20seconds即可
curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh --mirror Aliyun
记得上面的命令是ROOT下进行的 否则每条都要sudo 很麻烦
然后国内还要添加一下加速器 也就是换镜像 改成国内镜像仓库
sudo vim /etc/docker/daemon.json
添加下面内容
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
或者用阿里的 https://cr.console.aliyun.com/#/accelerator 注册一个即可
觉得麻烦就改配置吧。
然后最好建立用户组
sudo groupadd docker //添加你到docker组下 sudo usermod -aG docker $USER
测试docker是否安装
docker run hello-world
如果提示没权限的话 就su 在测试
查看docker版本
docker version
2.强烈推荐安装docker-compose 如果下了docker不下docker-compose那就约等于没用docker ,因为docker-compose真的太好用了。
它使用yml配置来启动docker容器 包括volume ports container-name services等各种需要你注意的地方。有了docker-compose 你就可以在一个配置文件默认叫docker-compose.yml配置。这里讲安装不讲使用。初学的话老实点把原始docker命令过一遍。
从 官方 GitHub Release 处直接下载编译好的二进制文件即可。
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
修改文件为可启动模式
sudo chmod +x /usr/local/bin/docker-compose
查看docker-compose版本
docker-compose --version
有点老,后人看见了换成官网上新点的吧
add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"