Docker与LXC差异以及相关命令

容器:Docker与LXC差异以及相关命令

​ LXC与Docker对比,LXC只实现了进程沙盒化,不支持在不同的机器上进行移植;Docker将应用的所有配置和环境进行了抽象,打包到一个容器中,此容器可以在任何安装了docker的机器上运行,效果都是一样的,使得改容器具有了可移植性。

1:Docker容器

运行时互相隔离,应用级

Docker内部包含应用完整的运行环境,包含函数库和依赖,仅依赖于linux系统内核,故可以在任意的操作系统上运行

可以快速将程序、环境、依赖打包为镜像,任意迁移到其他linux系统

docker为一个系统进程,体积小,启动块,性能好

2:LXC

LXC是Linux Containers 的简称 ,基于Linux内核的容器技术,允许多个隔离的用户空间实例在同一 Linux 内核上运行。每个实例(容器)拥有独立的文件系统、进程空间、网络接口和用户空间环境,但共享相同的内核。

操作系统级别,相比传统虚拟机负载和资源消耗更低。

使用命名空间来提供进程隔离

常用命令

LXC:

lxc-checkconfig 检查系统环境是否满足容器使用要求

lxc-create 创建lxc容器,格式 lxc-create -n NAME -t TEMPLATE_NAME

lxc-start 启动容器

lxc-stop 停止容器

lxc-destory 删除处于停止状态容器

lxc-snapshot 创建和恢复快照

lxc-execute -n container-name – command 执行容器内部命令

lxc-console 附加至指定容器控制台 lxc-console -n NAME -t NUMBER

lxc-attach -n 进入指定容器shell

lxc-list 列出所有容器

lxc-file push source-file container-name /destination-file 复制文件到容器

lxc-file pull container-name /source-file destination-file 从容器复制数据

lxc-fs list container-name查看容器文件系统

Ctrl+a q 退出容器

。。。。。。

Docker:

docker ps 列出容器

docker images 查看本地所有镜像

docker search image name 查找镜像

docker pull iamge name拉取镜像,默认拉去最新镜像

docker rmi image id 删除镜像

docker run [OPTIONS] image 启动容器(需要镜像)

docker rm container 删除容器

docker exec [OPTIONS] container cmd或者 docker attach container 进入容器执行命令

ps: docker exec -u root <container name> /bin/bash -c "cat file"

docker build [OPTIONS] path | url | -

docker logs container_name  获取容器日志

docker load < /home/自定义镜像 加载自定义镜像

docker save 镜像名 > /home/新镜像名.tar 保存镜像

ctrl + P + Q 容器不停止退出

docker cp 容器id:/file_path /宿主机路径 从docker容器拷贝文件到宿主机

详细参数单独根据命令查询

docker help

  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DockerLXC(Linux Container)都是容器技术,但它们在实现和使用上有一些区别。 Docker是一个开源的容器化平台,它使用了自己的容器引擎,基于Go语言编写。Docker采用了一种轻量级的容器化方案,通过使用镜像(Image)来打包应用程序及其所有依赖项,并提供了一套丰富的命令行工具和API来管理容器的生命周期。Docker的目标是快速、可移植和可重复部署的应用程序交付。 LXC是一种操作系统级别的虚拟化技术,它允许在同一主机上运行多个隔离的Linux系统实例,称为容器LXC基于Linux内核的容器功能(cgroups和命名空间等),提供了一种轻量级的虚拟化解决方案。LXC可以直接访问主机的内核和硬件资源,并提供更接近于原生环境的性能。 主要区别如下: 1. 应用层面 vs 系统层面:Docker更关注应用程序的打包、交付和部署,而LXC则提供了更接近于独立系统的隔离环境。 2. 镜像管理:Docker使用层次化的镜像结构,允许基于已有镜像创建新的镜像,具有更高的可复用性和可扩展性。LXC则更倾向于使用完整的系统镜像。 3. 生态系统:Docker拥有庞大的生态系统,有大量的镜像和工具可用。LXC相对来说生态系统较小。 4. 管理工具:Docker提供了一套命令行工具和API,用于管理容器的创建、启动、停止等操作。LXC也有自己的管理工具。 总的来说,Docker更适用于轻量级应用程序的打包和部署,而LXC更适用于需要更接近于独立系统环境的应用场景。选择使用哪种容器技术取决于具体的需求和使用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值