Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。利用Linux的LXC、AUFS、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、资源、网络等隔离,其最终的目标是实现类似PaaS平台的应用隔离。
Docker值得关注的特性:
-
文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
-
资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
-
网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。
-
日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。
-
变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。
-
交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次***互shell。
Docker通常用于如下场景:
-
web应用的自动化打包和发布;
-
自动化测试和持续集成、发布;
-
在服务型环境中部署和调整数据库或其他的后台应用;
-
从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境。
本文介绍如何在RedHat/CentOS环境下安装Docker。官方文档要求Linux kernel至少3.8以上,且docker只能运行在64位的系统中。由于RHEL6和CentOS6的内核版本为2.6,因此必须要先升级内核。
下面以CentOS6.5(64位)为例,介绍下docker安装步骤和使用方法:
一、升级内核(带aufs模块,记住一定要升级,要不然会出现很多莫名奇怪的问题,建议用yum安装)
1、yum安装带aufs模块的3.10内核(或到这里下载kernel手动安装:http://down.51cto.com/data/1903250)
1
2
3
|
cd /etc/yum .repos.d
wget http: //www .hop5. in /yum/el6/hop5 .repo
yum install kernel-ml-aufs kernel-ml-aufs-devel
|
2、修改grub的主配置文件/etc/grub.conf,设置default=0,表示第一个title下的内容为默认启动的kernel(一般新安装的内核在第一个位置)。
3、重启系统,这时候你的内核就成功升级了。
1
2
|
[root@localhost ~] # uname -r
3.10.5-3.el6.x86_64 |
查看内核是否支持aufs:
1
2
|
[root@localhost ~] # grep aufs /proc/filesystems
nodev aufs |
二、安装docker
1、首先关闭selinux:
1
2
|
setenforce 0 sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config
|
2、在Fedora EPEL源中已经提供了docker-io包,下载安装epel:
1
2
|
rpm -ivh http: //mirrors .sohu.com /fedora-epel/6/x86_64/epel-release-6-8 .noarch.rpm
sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum .repos.d /epel .repo
|
3、yum安装docker-io:
1
|
yum -y install docker-io
|
4、启动docker:
1
|
service docker start |
5、查看docker版本:
查看docker日志:
1
|
cat /var/log/docker
|
三、docker命令的使用
1、直接输入docker命令来查看所有的Options和Commands。
查看某一个command的详细使用方法:docker COMMAND --help
2、搜索可用的docker镜像:docker search NAME
3、下载镜像:docker pull NAME[:TAG]
比如获取最新的centos镜像:docker pull centos:latest
注意:这里要写用docker search搜索到的完整的镜像名。
4、查看安装的镜像:docker images [NAME]
5、在docker容器中运行命令:docker run IMAGE [COMMAND] [ARG...]
docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。
注意:IMAGE=REPOSITORY[:TAG],如果IMAGE参数不指定镜像的TAG,默认TAG为latest。
在刚刚下载的镜像中输出"hello word":docker run centos echo 'hello world!'
6、列出容器:docker ps -a
查看最近生成的容器:docker ps -l
查看正在运行的容器:docker ps
7、显示容器的标准输出:docker logs CONTAINERID
无需拷贝完整的id,一般写最开始的三至四个字符即可。
8、在容器中安装新程序,比如安装ifconfig命令(centos7默认没有ifconfig):docker run centos yum install net-tools -y
如果yum不指定-y参数的话,yum命令会进入交互模式,需要用户输入命令来进行确认,在docker环境中是无法响应这种交互的。但使用docker run的-i -t参数就会响应这种交互,用户可以输入命令了,比如:docker run -i -t centos yum install net-tools
9、保存对容器的修改并生成新的镜像:docker commit CONTAINERID [REPOSITORY[:TAG]]
REPOSITORY参数可以是新的镜像名字,也可以是旧的镜像名;如果和旧的镜像名和TAG都相同,会覆盖掉旧的镜像。
10、停止正在运行的容器:docker stop CONTAINERID
默认等待10秒钟再杀死指定容器。可以使用-t参数来设置等待时间。
11、查看容器或镜像的详细信息:docker inspect CONTAINERID|IMAGE
参数可以是容器的ID或者是镜像名(NAME:TAG)。
12、删除容器:docker rm CONTAINERID
查看所有容器ID:docker ps -a -q
删除所有的容器:docker rm $(docker ps -a -q)
13、删除镜像:docker rmi IMAGE
14.查看docker的信息,包括Containers和Images数目、kernel版本等。
四、创建容器并登入的操作
1、创建一个新容器并登入:docker run -i -t IMAGE /bin/bash
使用image创建container并进入交互模式,login shell是/bin/bash,现在可以自由的对容器进行操作了。最后使用exit退出容器。
注意:如果IMAGE参数不指定TAG,默认TAG为latest。
2、启动一个退出的容器:docker start CONTAINERID
3、attach到运行中的容器:docker attach CONTAINERID
转载地址:http://blog.csdn.net/wuzhilon88/article/details/41621285/
相关推荐
Centos6.5 下Docker的安装与简单配置。。。。。。。。
CentOS 6.5 下Docker 镜像和仓库 调试过程 及依赖kernel包
文件夹下还有:docker-engine-1.7.1-1.el6.x86_64.rpm 这个如果是centos6的时候用 5、启动docker服务并查看docker版本 # service docker start Starting docker (via systemctl): [ OK ] # docker -v Docker ...
本文档包含centos6.5版本的Linux系统上安装docker的详细过程及方法
在redhat6.5离线安装docker1.7所需要rpm包
centos6.5内核版本太低,docker必须在3.x上安装,yum install -y kernel-ml-aufs kernel-ml-aufs-devel vim /etc/grub.conf 修改/etc/grub.conf里default=0, reboot 重启系统
详细描述在centos6上安装部署docker及docker的一些常用的命令使用和讲解;也列出一些常见的问题,和解决问题的方法; 对docker容器的管理,制作镜像文件
因为阿里云的CentOS 6.5版本默认内核kernel版本是2.6的,比较低。安装docker的后,运行不了。 步骤: 1、使用命令更新: yum update 2、安装Docker。这里忽略500字。。。。 3、使用命令查看IP: ifconfig 将看到有...
CentOS6.5 安装docker升级内核升级3.10内核yum安装带aufs模块的3.10内核修改grub的主配置文件修改grub的主配置文件/etc/gr
### CentOS7下Docker桥接网络配置详解 #### 一、背景介绍 Docker作为一种流行的容器化技术,为开发者提供了轻量级、可移植的容器环境。为了更好地管理容器之间的网络通信,理解Docker在网络配置方面的机制至关重要...
运行docker Linux内核版本需要在3.8以上,针对centos6.5 内核为2.6的系统需要先升级内核.不然会特别卡,退出容器. 在yum的ELRepo源中,有mainline(3.13.1)、long-term(3.10.28)这2个内核版本,考虑到long-term更...
主要介绍了CentOS/RedHat 6.5 离线安装Docker的相关资料,需要的朋友可以参考下
下载后先使用gzip -dv命令解压,然后再使用rpm -ivh命令安装。 安装好后,设置/etc/grub.conf里default=0,重启系统。 本资料共包含以下附件: kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm.gz kernel-ml-aufs-devel-...
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 ...
CentOS 下使用 Docker 部署 .NET Core 项目 本文将详细介绍如何在 CentOS 系统中使用 Docker 部署 .NET Core 项目,涵盖 Docker 的安装、 .NET Core 程序的安装、Nginx 的配置等重要知识点。 一、基本知识储备 在...
CentOS6.5 升级内核 部署docker 并运行几个简单的容器
docker容器最早受到RHEL完善的支持是从最近的CentOS 7.0开始的,官方说明是只能运行于64位架构平台,内核版本为2.6.32-431及以上(即>=CentOS 6.5,运行docker时实际提示3.8.0及以上),升级内核请参考CentOS 6.x ...
下载后先使用gzip -dv命令解压,然后再使用rpm -ivh命令安装。 安装好后,设置/etc/grub.conf里default=0,重启系统。 本资料共包含以下附件: kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm.gz kernel-ml-aufs-devel-...