如何用 docker 搭建虚拟环境
简述
Docker 是一个开源的应用容器引擎,基于 Go 语言开发。
它的容器是进程级别完全使用沙箱机制,相互之间无任何调用,更为重要的是容器性能开销极低,不同容器之间又可以共享同一个 cpu、内存等硬件资源。
本文分享如何使用 docker 搭建 linux 虚拟机,包含下载镜像、启动容器及后台运行、将宿主机端口和目录映射到虚拟机、基于容器生成本地镜像、将本地镜像实现导入新宿主机以达到软件运行环境完整迁移目的。
以 centsos7 为例
下载镜像
命令:
执行此命令后就会将 centos7 镜像下载到本地。
下载图像后,我们可以执行 docker images 命令查看是否下载成功,docker.io/centos就是我们的镜像,tag为镜像的标记。
运行容器
在下载镜像后,我们就需要基于下载的 centos7 镜像运行一个容器。
容器运行起来后,就可以像正常的 linux 系统一样执行任何的操作!
参数说明:
执行命令:
我们执行 docker ps -a 查看容器列表,看是否已经启动。
centos7-test 就是我们启动的容器。
进入容器
在运行容器后,容器在后台运行,有时我们需要进入容器内去查看日志或者搭建新的应用。
参数说明:
执行 docker exec -it centos7-test /bin/bash,我们就进入虚拟 centos7 系统
将容器导出镜像
我们在搭建虚拟后很可能装了很多应用和开发环境比如 nginx、php 等等,但是如果另一个主机也要一个同样开发环境的 linux 虚拟机怎么办呢?我们肯定不会重新搭建一套开发环境,Docker 可以将某个容器导出为镜像。
参数说明:
执行命令 :
centos7-back.tar 就是我们导出的镜相包。
将本地镜像导入
我们执行 docker images 查看新导入的镜像,centos7-back.tar 就是我们新导入的本地镜像
总结
vagrant、vimware 搭建虚拟机需要瓜分硬件资源,而且很难将宿主机硬件得到最大利用,而 docker 是进程级别且轻量级,而且不瓜分硬件资源,即使一个宿主机开多个 docker 虚拟机,也只会和其它虚拟机共享硬件资源。
更多学习资料戳下方!!!
评论