引言
本章节只介绍docker的简单使用,具体的架构实现在后续章节展开
在初识docker一文中已经介绍,docker包含有镜像image和容器container两个最基本的概念,在上图中也很好的展现了docker images和container的关系。
一. docker的安装
1. windows系统下docker安装
准备工作
下载docker windows安装包:
官方地址:https://github.com/boot2docker/windows-installer/releases
国内地址:https://get.daocloud.io/toolbox/
安装
执行DockerToolBox-1.12.2.exe可执行文件,一步一步默认安装即可
启动
安装完成后会自动启动,也可以执行start.sh或开始菜单中的Docker Quickstart Terminal
如果报启动失败,可以参考:http://blog.sina.com.cn/s/blog_628cc2b70102wb65.html,重新安装virtualbox即可
启动成功,如下图
测试
安装一个ubuntu镜像并启动
执行docker run -it ubuntu bash下载官方仓库提供的最新ubuntu镜像并启动
docker ps 查看启动的容器
docker exec -it container-id bash进入容器内(容器内是ubuntu 16.04系统)
2. unbuntu系统下docker安装
docker官网提供的是一键式在线安装和二进制安装。这里就简单的演示一下这两种安装的步骤。具体可参考:官方安装指导
系统准备
docker对系统的要求unbuntu版本为64位,且内核至少3.10以上,我们实验是使用阿里云ecs虚拟机(Ubuntu 14.04.2)
检查Ubuntu的内核版本
# uname -r
3.13.0-65-generic
更新系统,确保软件包列表的有效性
# apt-get update
如果Ubuntu的版本不满足,还需升级Ubuntu
# apt-get -y upgrade
二进制安装
下载二进制包:wget https://get.docker.com/builds/Linux/x86_64/docker-latest.tgz
解压二进制包:tar -xvzf docker-latest.tgz
cp二进制包至/usr/bin目录下:cp docker/* /usr/bin/
启动
执行sudo docker daemon &
执行docker version,显示如下图,表示安装和启动成功
问题:今天一同事根据我的方法去安装,结果出现错误:WARNING: Your kernel doesnotsupport cgroup swap limit. WARNING: Yourkernel doesnotsupport swap limit capabilities. Limitation discarded.导致启动failed
解决办法(虽然下边方法不是一直有效,总归还是尝试一下):
1.vi /etc/default/grub
2.修改GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
3.保存并执行sudoupdate-grub
4.最后reboot机器
我们按照这个步骤执行结束后,原先错误并没有解决,估计是安装的docker缺少某些依赖软件,采取的规避措施是执行一键式安装方式
一键式在线安装
一键式安装的前提是有很好的网络,具体步骤参考官网
依照官网的步骤总是不成功的,因为强大的长城gateway。所以我们只能使用daocloud的源去安装。执行命令:curl -sSL https://get.daocloud.io/docker | sh
daocloud算是国内专注做docker研究的公司
执行docker version,显示下图,表示安装成功
现在碰到一个问题,是使用上述的安装方式,总是安装的最新版本的docker,由于最新版本可能会有未知bug,所以我想安装指定的docker版本,该如何安装呢?
安装步骤:
1. 下载安装版本的docker
curl -O https://apt.dockerproject.org/repo/pool/main/d/docker-engine/docker-engine_1.12.5-0~ubuntu-trusty_amd64.deb
2. 由于安装的时候,一般会报缺少libltdl7和libsystemd-journal0
wget http://launchpadlibrarian.net/236916213/libltdl7_2.4.6-0.1_amd64.deb
sudo dpkg -i libltdl7_2.4.6-0.1_amd64.deb
echo 'deb http://cz.archive.ubuntu.com/ubuntu trusty main' | sudo tee /etc/apt/sources.list
sudo apt-get update
apt-get install -y libsystemd-journal0
3. 安装指定版本docker
dpkg -i docker-engine_1.12.5-0~ubuntu-trusty_amd64.deb
二. docker的卸载
二进制安装的卸载
终止docker进程
删除/usr/bin/目录下docker相关二进制文件
删除/var/lib/docker目录
注意:删除的时候会提示:rm: cannot remove ‘docker/aufs’: Device or resource busy,这里是因为docker/aufs是一个挂盘,umount docker/aufs后,重新执行删除命令
一键式安装的卸载
一键式安装的卸载同样对应有一键式卸载:
0. dpkg -l|grep docker查看安装的docker
1.sudo apt-get autoremove--purge docker-engine或sudo dpkg --purge docker-ce
2.rm -rf /var/lib/docker