Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单。容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止。Docker 帮助系统管理员和程序员在容器中开发应用程序,并且可以扩展到成千上万的节点。
容器和 VM(虚拟机)的主要区别是,容器提供了基于进程的隔离,而虚拟机提供了资源的完全隔离。虚拟机可能需要一分钟来启动,而容器只需要一秒钟或更短。容器使用宿主操作系统的内核,而虚拟机使用独立的内核。
Docker 的局限性之一是,它只能用在 64 位的操作系统上。
红帽日前正式发布了企业版Linux 7,满足企业当前对数据中心的需求和对下一代的云服务、Containers、大数据的需求,为用户提供军用级安全以及稳定、易用、高效的管理。社区发行版CentOS 7也已经发布出来了,抢先体验docker 1.0。
在CentOS 7中安装Docker:
系统是rhel 7需要安装epel-release软件,CentOS 7不需要安装可直接安装Docker-io软件。
[root@53d9097b0165 /]# rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安装docker
启动Docker服务:
rhel6
[root@53d9097b0165 /]# service docker start
rhel7
[root@53d9097b0165 /]# systemctl start docker
开机自启动
rhel6
[root@53d9097b0165 /]# chkconfig docker on
rhel7
[root@53d9097b0165 /]# systemctl enable docker
下载官方的CentOS镜像到本地
从docker.io中下载centos镜像到本地/var/lib/docker/graph
[root@53d9097b0165 /]# docker pull centos:latest
确认CentOS镜像已经被获取:
[root@53d9097b0165 /]# docker images
[root@server21 ~]# docker images centos
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker.io/centos latest bb3d629a7cbc 4 days ago 196.6 MB
[root@server21 ~]# docker images gpmidi/centos-6.4
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
gpmidi/centos-6.4 latest a67498d87aee 4 hours ago 349.2 MB
运行一个Docker容器:
[root@53d9097b0165 /]# docker run -i -t centos /bin/bash
进入centos6.4虚拟机
[root@53d9097b0165 /]# docker run -i -t gpmidi/centos-6.4 /bin/bash
[root@server21 ~]# docker run -i -t centos /bin/bash
[root@be9858492020 /]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@be9858492020 /]# exit
exit
[root@server21 ~]# docker run -i -t gpmidi/centos-6.4 /bin/bash
bash-4.1# cat /etc/redhat-release
CentOS release 6.4 (Final)
bash-4.1# exit
在Docker下建立文件夹
可以看到,CentOS 容器已经被启动,并且我们得到了 bash 提示符。在 docker 命令中我们使用了 “-i 捕获标准输入输出”和 “-t 分配一个终端或控制台”选项。若要断开与容器的连接,输入 exit。
查看使用docker信息
[root@53d9097b0165 /]# docker ps -a
提交CONTAINER ID,确保下次进入虚拟机有保存的信息
[root@53d9097b0165 /]# docker commit 5a5b313db94c gpmidi/centos-6.4
查看容器日志:
docker logs -f <容器名 or CONTAINER ID>
查看Docker版本信息:
[root@server21 ~]# docker --version
Docker version 1.8.2-el7.centos, build a01dc02/1.8.2
[root@server21 ~]# docker -v
Docker version 1.8.2-el7.centos, build a01dc02/1.8.2
搜索基于Fedora和Ubuntu操作系统的容器:
[root@server21 ~]# docker search ubuntu
Error response from daemon: Get https://index.docker.io/v1/search?q=ubuntu: net/http: TLS handshake timeout
[root@server21 ~]# docker search fedora
INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED
docker.io docker.io/fedora Official Docker builds of Fedora 310 [OK]
docker.io docker.io/dockingbay/fedora-rust Trusted build of Rust programming language... 3 [OK]
docker.io docker.io/startx/fedora Simple container used for all startx based... 2 [OK]
docker.io docker.io/darksheer/fedora22 Base Fedora 22 Image -- Updated hourly 1 [OK]
RedHat中配置docker1.0
Docker包装的应用程序是独立于操作系统的,所以它们可以在操作系统之间移植并且正常运行。RHEL 7打算尽可能高效地使用Docker以防止应用程序竞争资源或者为使用哪种运行时环境而困惑。Docker可以一个容器连接到另一个容器,并将Al容器重命名为db。这样,A容器就可以使用了。
从RHEL的Docker路线图上的长期计划表来看,这可能会超越操作系统本身,发展成一系列的Docker容器,它可以支持用最小的开销部署一个系统。红帽公司准备首先将它部署在他的Fedora Linux发行版,仅仅当做对前沿技术的测试。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9034054/viewspace-2051777/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9034054/viewspace-2051777/