如何用 docker 搭建虚拟环境

简述

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

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

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

以centsos7为例

下载镜像

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

命令:

docker pull docker pull centos:7

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

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

 

运行容器

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

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

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

参数说明:

 

 

执行命令:

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

1080×47 26 KB

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

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

 

进入容器

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

docker exec -it centos7-test /bin/bash

参数说明:

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

 

 

将容器导出镜像

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

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

参数说明:

执行命令 :

docker export -o centos7-back.tar  d4480dc94cdd

 

 

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

将本地镜像导入

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

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

 

总结

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

 

学习安排上

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。【保证100%免费】

视频文档获取方式:

这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值