docker如何搭建测试环境(如何用docker搭建虚拟环境)

简述

Docker 是一个开源的应用容器引擎,基于Go语言开发。

它的容器是进程级别完全使用沙箱机制,相互之间无任何调用,更为重要的是容器性能开销极低,不同容器之间又可以共享同一个cpu、内存等硬件资源。

本文分享如何使用docker搭建linux虚拟机,包含下载镜像、启动容器及后台运行、将宿主机端口和目录映射到虚拟机、基于容器生成本地镜像、将本地镜像实现导入新宿主机以达到软件运行环境完整迁移目的。

以centsos7为例

下载镜像

https://hub.docker.com/_/centos?tab=tags&page=1

docker如何搭建测试环境(如何用docker搭建虚拟环境)(1)

命令:

docker pull docker pull centos:7

执行此命令后就会将centos7镜像下载到本地。

下载图像后,我们可以执行 docker images命令查看是否下载成功,docker.io/centos就是我们的镜像,tag为镜像的标记。

docker如何搭建测试环境(如何用docker搭建虚拟环境)(2)

运行容器

在下载镜像后,我们就需要基于下载的centos7镜像运行一个容器。

容器运行起来后,就可以像正常的linux系统一样执行任何的操作!

docker run -itd --name centos-test -p 4749:4749 -v /data/test/www:/data/www 镜像名(如docker.io/centos:7) /sbin/init

参数说明:

docker如何搭建测试环境(如何用docker搭建虚拟环境)(3)

执行命令:

docker run -itd --name centos7-test --privileged=true -p 4749:4749 -v /data/test/www:/data/www docker.io/centos:7 /sbin/init

docker如何搭建测试环境(如何用docker搭建虚拟环境)(4)

我们执行docker ps -a 查看容器列表,看是否已经启动。

centos7-test就是我们启动的容器。

docker如何搭建测试环境(如何用docker搭建虚拟环境)(5)

进入容器

在运行容器后,容器在后台运行,有时我们需要进入容器内去查看日志或者搭建新的应用。

docker exec -it centos7-test /bin/bash

参数说明:

docker如何搭建测试环境(如何用docker搭建虚拟环境)(6)

执行docker exec -it centos7-test /bin/bash,我们就进入虚拟centos7系统

docker如何搭建测试环境(如何用docker搭建虚拟环境)(7)

将容器导出镜像

我们在搭建虚拟后很可能装了很多应用和开发环境比如nginx、php等等,但是如果另一个主机也要一个同样开发环境的linux虚拟机怎么办呢?我们肯定不会重新搭建一套开发环境,Docker可以将某个容器导出为镜像。

docker export -o centos7-back.tar(自定义) d4480dc94cdd(容器ID)

参数说明:

docker如何搭建测试环境(如何用docker搭建虚拟环境)(8)

执行命令 :

docker export -o centos7-back.tar d4480dc94cdd

docker如何搭建测试环境(如何用docker搭建虚拟环境)(9)

centos7-back.tar就是我们导出的镜相包。

将本地镜像导入

docker如何搭建测试环境(如何用docker搭建虚拟环境)(10)

cat centos7-back.tar | docker import - centos7-back.tar

docker如何搭建测试环境(如何用docker搭建虚拟环境)(11)

我们执行docker images查看新导入的镜像,centos7-back.tar就是我们新导入的本地镜像

docker如何搭建测试环境(如何用docker搭建虚拟环境)(12)

总结

vagrant、vimware搭建虚拟机需要瓜分硬件资源,而且很难将宿主机硬件得到最大利用,而docker是进程级别且轻量级,而且不瓜分硬件资源,即使一个宿主机开多个docker虚拟机,也只会和其它虚拟机共享硬件资源。

更多学习资料戳下方!!!

Redirecting...

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页