Docker玩出花系列 之 Docker虚拟化,部署Linux系统。

Docker是一个非常有趣的东西。你可以把他理解为一个虚拟机,但比传统的虚拟机要高效的多得多。它可以以极少的占用,来弹性分配宿主机的资源。

安装Docker

首先,肯定是要安装Docker的。Docker可以运行在虚拟化服务器和独立服务器上。安装也是很便利的。

PS:在OpenVZ虚拟化的架构上运行需要内核版本较高。

docker version > /dev/null || curl -fsSL get.docker.com | bash #安装Docker
service docker restart #启动Docker

之后,我们便可以开始部署Linux了。

部署Linux

下载Docker镜像

既然我们要部署Linux,就先需要有Linux系统。我们可以在Docker社区找到相关的镜像。

Pull命令为:Docker pull 镜像名称:附加信息(一般为版本号)

For Example:

如果我们要使用Debian8的相关系统镜像,可以这样写:

docker pull debian:jessie #以官方信息为准 此版本目前为Debian 8.11

此时,我们便可以执行下一步,来正式运行Linux容器了。

运行Linux容器

执行如下命令:

docker run --network=host --privileged --cap-add SYS_ADMIN -e container=docker -it -d --restart=always debian:jessie /bin/bash

  1. Network必须为host,否则无网络;

  2. 必须添加相关权限,否则无法运行一些命令;

  3. debian:jessie 为docker镜像名称,运行docker images后可以看到。此处也可以替换为镜像ID;

  4. name 你可以自己添加和修改,可加在docker run 的后面 e.g. docker run --name=luoxue。

到此为止,Linux容器就基本部署完毕了。

你可以通过 docker exec -it 容器名称/ID /bin/bash 来进入容器,在容器内可使用 exit 来退出容器。

安装SSH

SSH可真是个好东西呢。默认,Docker的Linux是不带SSH的,需要我们自己安装和配置。

apt-get -y install openssh-server && cd /etc/ssh && vi sshd_config #Debian系
yum -y install yum install openssh-server && cd /etc/ssh && vi sshd_config #RedHat系

修改sshd_config:

  1. 建议修改端口号,否则可能与当前Linux宿主机端口冲突。

  2. 开启密码登陆,Debian需要开启允许Root登陆。

具体如何操作,可参阅百度搜索。

修改完毕后,保存退出。重启SSH,以生效配置:service sshd restart

控制容器内存

这个东西,做合租车的大佬们可能需要。

控制内存,需要用到的命令是 -m 内存限制大小。内存限制大小 可以为KB、M、G等,例如 -m 512M ,若需要控制加在docker run 后即可(随意位置,个人比较喜欢加在镜像名称或者ID之前。

For example:

docker run -m 512M --network=host --privileged --cap-add SYS_ADMIN -e container=docker -it -d --restart=always debian:jessie /bin/bash