背景
一年前就听说了docker,想用它做虚拟机,今天终于有机会付诸实践了。
我这里使用的是64位 ubuntu 14.04。想虚拟出4台设备,分别安装软件,进行集群测试。
由于Linux容器的bug,docker在Linux的kernel3.8上运行最佳。
环境检查及安装
cat /etc/issue Ubuntu 14.04.5 LTS \n \l
uname -r 3.2.0-67-generic
由于内核没有达到要求,我们接下来用下面的命令升级内核:
apt-get install linux-image-generic-lts-raring linux-headers-generic-lts-raringsudo
apt-get install --install-recommends linux-generic-lts-raring xserver-xorg-lts-raring libgl1-mesa-glx-lts-raring注意:升级后需要重启ubuntu.#重启后检查内核版本。
Ubuntu 14.04 用户怎样安装 Kernel 3.14 内核 *(安装方法,直接下载DEB安装包,使用以下命令)
32 位系统安装命令
下载安装包:
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.14-trusty/linux-headers-3.14.0-031400_3.14.0-031400.201403310035_all.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.14-trusty/linux-headers-3.14.0-031400-generic_3.14.0-031400.201403310035_i386.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.14-trusty/linux-image-3.14.0-031400-generic_3.14.0-031400.201403310035_i386.deb
安装:
sudo dpkg -i linux-headers-3.14*.deb linux-image-3.14*.deb
64 位系统安装命令
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.14-trusty/linux-headers-3.14.0-031400_3.14.0-031400.201403310035_all.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.14-trusty/linux-headers-3.14.0-031400-generic_3.14.0-031400.201403310035_amd64.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.14-trusty/linux-image-3.14.0-031400-generic_3.14.0-031400.201403310035_amd64.deb
********
安装部署docker
vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse升级并安装:
apt-get update apt-get install docker.io service docker.io restart
root@linuxidc:~#docker run -i -t ubuntu /bin/bash
Cannot connect to the Docker daemon. Is 'docker -d' running on this host?
root@iZ28ikebrg6Z:~# docker -d
出现如下错误:
root@iZ28ikebrg6Z:~# docker -d
Could not find a free IP address range for interface 'docker0'. Please configure its address manually and run 'docker -b docker0'
然后我们只需要输入:
root@linuxidc:~#sudo route del -net 172.16.0.0 netmask 255.240.0.0
创建容器及使用
docker pull ubuntu #此处是从官网拉取名为ubuntu的image docker images 查看拉取下来的镜像,注意:REPOSITORY:TAG后边启动使用 docker run -i -t ubuntu:latest /bin/bash #创建一个容器,-t是临时终端。 docker run -dit [CONTAINER_NAME or CONTAINER_ID]#交互式启动 run -d ubuntu:latest /bin/bash #后台启动。 TIPS:退出时,使用[ctrl + D]或exit,这样会结束docker当前线程,容器结束。可以同时使用[ctrl + P][ctrl + Q]退出而不终止容器运行 docker exec -it [CONTAINER_NAME or CONTAINER_ID] /bin/bash #会在指定容器中执行指定命令。 docker rename CONTAINER_NAME new_name #给容器重命名 docker rm CONTAINER_ID #删除容器 docker accach CONTAINER_NAME #进入某个后台容器 run -d -p 50001:22 ubuntu:latest /bin/bash #创建端口映射从50001到容器的22端口,然后登陆安装ssh