Docker.io 是轻量级的“容器引擎+映像仓库”,在LXC(linux轻量级容器)的基础上构建,可以运行任何应用程序。
安装步骤:
- 本安装教程基于centos6.8,适合所有centos6.5以上版本
1.禁用selinux
- 因为selinux和LXC有冲突,所以需要禁用
vim /etc/selinux/config
设置SELINUX=disabled
2.安装 Fedora EPEL
yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
3.检查内核版本
- 在运行CentOS6.5及以后版本时,需要内核版本>=2.6.32-431,因为这些内核包含了运行Docker的一些特定修改
[root@localhost phq]# uname -r
2.6.32-642.1.1.el6.x86_64
[root@localhost phq]# cat /etc/redhat-release
CentOS release 6.8 (Final)
4.Remove Docker(可选)
- CentOS6.5中,已经有一个同名docker的可执行系统程序包。所以DockerRPM包命名为docker-io,我们先卸掉docker。
yum -y remove docker
5.安装docker-io
yum install docker-io
6.启动
service docker start
7.设置开机启动(可选)
chkconfig docker on
8. 验证docker安装
- 启动服务后,直接用docker info命令确认docker是否正确安装并运行
docker info
9. 获取centos镜像
- 默认使用的是Docker官方源
docker pull centos
- 由于国内网络环境特殊,使用默认的官方仓库(Docker Hub)获取镜像速度比较慢。
10. 查看镜像
[root@localhost phq]# docker images centos
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 3aa28fd030d9 12 days ago 196.8 MB
11. 启动容器
- 容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。
[root@localhost phq]# docker run -i -t 3aa28fd030d9 /bin/bash
- 启动命令包含以下三部分:
docker run <相关参数> <镜像 ID> <初始命令>
- 相关参数:
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
-v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
- 假设我们的所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下
[root@localhost phq]# docker run -i -t -v /root/software/:/mnt/software/ 3aa28fd030d9 /bin/bash
- 需要说明的是,不一定要使用“镜像 ID”,也可以使用“仓库名:标签名”,例如:
centos:latest
- [x] 初始命令表示一旦容器启动,需要运行的命令,此时使用“/bin/bash”,表示什么也不做,只需进入命令行即可。
12. 退出容器
- 可使用exit命令,退出容器。随后,可使用如下命令查看正在运行的容器:
[root@localhost phq]# docker ps
- 此时,您应该看不到任何正在运行的程序,因为刚才已经使用exit命令退出的容器,此时容器处于停止状态
13. 查看所有容器
[root@localhost software]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ada0dda40fb1 3aa28fd030d9 "/bin/bash" About an hour ago Exited (0) 54 minutes ago thirsty_blackwell
14. 删除容器
[root@localhost software]# docker rm ada0dda40fb1