首页 > 其他分享 >如何用 docker 搭建虚拟环境

如何用 docker 搭建虚拟环境

时间:2022-09-28 16:01:07浏览次数:53  
标签:容器 centos 虚拟机 centos7 虚拟环境 镜像 docker 搭建


简述

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

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

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

以centsos7为例

下载镜像

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

如何用 docker 搭建虚拟环境_docker

命令:

docker pull docker pull centos:7

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

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

如何用 docker 搭建虚拟环境_硬件资源_02

运行容器

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

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

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

参数说明:

如何用 docker 搭建虚拟环境_测试_03

执行命令:

docker run -itd --name centos7-test --privileged=true

如何用 docker 搭建虚拟环境_docker_04

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

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

如何用 docker 搭建虚拟环境_docker_05

进入容器

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

docker exec

参数说明:

如何用 docker 搭建虚拟环境_硬件资源_06

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

如何用 docker 搭建虚拟环境_测试_07

将容器导出镜像

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

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

参数说明:

如何用 docker 搭建虚拟环境_centos_08

执行命令 :

docker export

如何用 docker 搭建虚拟环境_硬件资源_09

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

将本地镜像导入

如何用 docker 搭建虚拟环境_测试_10

cat centos7-back.tar | docker import

如何用 docker 搭建虚拟环境_docker_11

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

如何用 docker 搭建虚拟环境_docker_12

总结

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

标签:容器,centos,虚拟机,centos7,虚拟环境,镜像,docker,搭建
From: https://blog.51cto.com/u_15649298/5719664

相关文章

  • docker容器
    新建容器#dockercreate-itkylin-server-v10:b19/bin/bash新建并启动容器#dockerrun-itkylin-server-v10:ABI-Build02-cyx/bin/bash查看正在运行的容器#d......
  • Docker Compose Test
    DockerComposeTestPrerequisitesMakesureyouhavealreadyinstalledbothDockerEngineandDockerCompose.Youdon’tneedtoinstallPythonorRedis,asbo......
  • ansible 二进制安装docker
     首先,上传文件docker-20.10.9.tgz到/data/docker/下 1、编辑docker.service文件docker的配置文件vim/data/docker/docker.service【[Unit]Description=DockerA......
  • prometheus export 各种服务 docker-compose文件
    redis-exporter配置docker-composeversion:'3'services:redis-exporter:image:oliver006/redis_exporterrestart:alwayscommand:-'--redis......
  • k8s集群上 docker 镜像编译
    因工作需要,在k8s集群上程序构建镜像。调研了dockerindocker方案。见链接。https://applatix.com/case-docker-docker-kubernetes-part-2/怎么都感觉不够智能,而且有点......
  • docker配置阿里云加速器(修改daemon.json后缀为conf)
    问题:docker无法拉取镜像,根据网上教程添加 /etc/docker/daemon.json后仍然失败。解决方法:将daemon.json文件名改为daemon.conf 后成功解决问题。网上常见配置方......
  • 使用Spring boot基于Redis快速搭建分布式Session缓存方案
    使用Springboot基于Redis快速搭建分布式Session缓存方案大型web应用中,session的管理非常重要,这是单机存储满足不了的.通常有以下几种方法:将session持久化到数据库中.但......
  • Docker常用命令及参数
    1、https://baijiahao.baidu.com/s?id=1692361731135557712&wfr=spider&for=pcDocker是一个被广泛使用的开源容器引擎,是一种操作系统级别的虚拟化技术,它以一种特殊进程......
  • docker 安装 redis
    1、启动镜像dockerrun--restart=always--log-optmax-size=100m--log-optmax-file=2-p6379:6379--namemyredis-v/opt/myredis/redis.conf:/etc/redis/redis.co......
  • 什么是docker swarm configs?及其在service中的使用?
    今天,来说一个在service中非常高级的知识点,configs. 然后,通过一些示例,来一步一步的演示,如何在service中使用,有什么关键的注意事项。什么是configs? configs的准确说......