- 什么是docker?
我个人理解为:可以将docker容器理解为一种轻量级的虚拟机,推荐每个容器运行这一个应用,当然也可以运行多个应用。
- 为什么要使用docker?
Docker相比虚拟机更加轻量化,因为docker是基于内核的虚拟化,所有docker共用一个内核;而虚拟机则是完全虚拟化,一定程度上会造成资源的浪费。而且利用docker部署应用是非常快的,也非常方便。一个物理机可以开几个到几十个虚拟机,但一个物理机可以开几百到几千个容器。并且docker可以缩短代码从开发到测试再到部署、上线运行的周期。其实在dockr火起来之前,容器技术已经存在,但是由于复杂,难以部署等原因迟迟没有得到推广,docker最大的有优点就是他的镜像技术。
- 安装docker
环境:rhel7.3
安装dcoker有很多种方法,我这里使用的是rpm包安装,有的是一些docker的倚赖包,可以自行在网上下载
- 启动docker
- 安装完之后可以查看docker程序是否正常工作:
- 运行第一个容器:(装ubuntu镜像,类似与创建一个ubuntu的虚拟机)
docker run -i -t ubuntu /bin/bash
docker run 是执行的命令,-i标志保证容器中的STDIN是开启的,即使没有附 着到容器中,-t的意思是告诉docker为要创建的容器分配一个伪ttl终端,也就是提供一个交互式的shell。可以使用docker run --help来查看参数的意思.
执行这段命令的背后到底发生了什么?首先docker会检查本地是否存在ubuntu镜像,如果本地没有ubuntu镜像的话,那么docker会连接官方的Registry,如果官方的库中有这个镜像的话,就会下载该镜像并保存到本地宿主机中。随后,Docker在文件系统内部用这个镜像创建了一个新的容器。该容器拥有自己的网络、IP地址,以及一个用来和宿主机进行通信的桥接网络接口。最后,我们告诉Docker在新容器中要运行什么命令,这里,我们运行的是/bin/bash命令启动一个bash shell。
接下来,可以在这个容器中运行一些命令来看看效果:
如上图所示,可以查看该容器的主机名等,但是ip命令不能用,在ubuntu中可以使用apt-get update命令用来更新软件列表,然后使用apt install iproute2来安装这个软件,就可以使用ip命令了
如果想退出到宿主机时,输入exit命令,当然容器也会停止运行,只有在指定的/bin/bash命令处于运行状态的时候,我们的容器才会相应地处于运行状态。虽然容器停止运行了,但容器依然是存在的,可以在宿主机上通过docker ps -a命令来查看当前系统中容器的列表。这里提一个小技巧,如果不想停止