• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > 关于Docker的基础概念分享

关于Docker的基础概念分享

作者:xdays 字体:[增加 减小] 来源:互联网

本文主要包含docker,概念,docker,基本概念,docker概念等服务器相关知识,xdays 希望可以进行参考

简介

如官方文档所说,docker是一个自动将应用打包成轻量可移植自包涵的容器的引擎。开发者构建的应用可以一次构建全平台运行,包括本地开发机,生产环境,虚拟机和云等。目前处于开发阶段,不可用于生产环境。在你启动一条命令时docker会调用lcx等其他一个组建为这条命令构建一个container,包含了进程运行的所有资源。但是官方文档以说明,docker处于开发阶段目前还不能用于生产环境。

特性

Go语言编写
基于lxc的进程级隔离,而lxc基于cgroup,轻量级
通过cgroup做到文件系统,网络和资源的隔离
使用aufs文件系统存储,写时复制,相同数据只保存一份,节省空间
源机制,可相互分享,搜索等

概念

cgroups

cgroups全称control groups,是linux内核提供的一种限制、记录和隔离进程组所使用物理资源的一种机制。在2.6.24之后的内核中都已经支持cgroups。详细的介绍请参考cgroups详解。

lxc

lxc全称是linux container,是基于cgroups和chroot等内核特性的一组工具,用于构建虚拟环境。通过一系列的命令行工具可以创建,修改,删除虚拟环境。具体用法可参考ubuntu官方文档。

aufs

aufs全称是advance(another) union file system,是一种联合文件系统。这种文件系统最重要的一个特性就是有一个层的概念和复制时拷贝,可以做到当文件系统改变时只影响其中一层,其他层保持不变。举个例子,整个文件系统就像由一层一层的玻璃组成的,你从上往下看能看到所有的图案(如果上下层的玻璃完全重合则只能看见上层的玻璃对应的图案),而当你需要新增或者修改图案时就只能在最上层的玻璃上操作。具体的一些操作例子可参考geekstuff的aufs演示

安装

注意: docker要求内核在3.8以上,所以建议的安装系统为ubuntu。

ubuntu

curl -s https://get.docker.io/ubuntu/ | sudo sh

centos

安装epel rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装docker yum install -y docker-io

启动 service docker start chkconfig docker on

使用

命令行

获取base image

docker pull ubuntu

这条命令会从docker index上获取ubuntu镜像,它是运行其他进程的基础。

运行命令

docker run -i -t ubuntu yum install -y vim

提交改变

docker images
docker commit id user/name
docker push user/name

再次运行

docker pull user/name
docker run -i -t image vim


注意: 这里的再次运行是指你所构建的环境可以再其他任何平台上运行起来,不需要额外的配置,没有依赖。

Dockerfile

dockerfile通过一些指令来描述了一个image的方方面面。

# Memcached
#
# VERSION    2.2
# use the ubuntu base image provided by dotCloud
FROM ubuntu
MAINTAINER Victor Coisne victor.coisne@dotcloud.com
# make sure the package repository is up to date
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
RUN apt-get update
# install memcached
RUN apt-get install -y memcached
# Launch memcached when launching the container
ENTRYPOINT ["memcached"]
# run memcached as the daemon user
USER daemon
# expose memcached port
EXPOSE 11211

其中的一些指令解释:

FROM指定此image的base image
MAINTAINER指定image的维护者
RUN指定在当前的image下运行的命令,相当于docker run image command
ENTRYPOINT指定在运行image时触发的命令
USER指定运行出发命令的用户名
EXPOSE指定对外提供的端口号

以上就是本文的全部内容了,希望对大家了解docker能够有所帮助

您可能感兴趣的文章:

  • 详解Docker 容器基础系统镜像打包
  • Docker 教程之获取镜像基础知识详解
  • 理解Docker(1):Docker安装和基础用法详细介绍
  • Docker基础命令详解
  • Docker基础学习之数据管理
  • Docker安装和基础用法 Docker入门教程第二篇
  • Docker学习之常用的基础命令总结
  • Docker CentOS7的系统上安装部署以及基础教程
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Docker实践8:Compose,docker实践compose
  • Docker buildx构建多平台镜像并推送到私有仓库的方法
  • Docker三个基本概念镜像(Image)容器(Container)仓库(Repository)
  • 什么是Docker?为什么要使用Docker
  • docker 开源的应用容器引擎
  • 如何给docker设置http代理
  • docker官方mysql镜像自定义配置详解
  • 详解Docker数据管理(数据卷&数据卷容器)
  • 如何利用Docker容器实现代理转发与数据备份详解
  • 详解Docker Swarm 在持续集成测试中的应用

相关文章

  • Docker学习笔记之Docker端口映射
  • 云中的开源KVM是什么样?
  • 应用集成之痛:云时代也不能止痛
  • CentOS7 禁用Transparent Huge Pages的实现方法
  • 在docker中运行mariadb程序的方法
  • Docker使用Swarm组建集群的方法
  • 解决VMWARE桥接模式虚拟机无法上网的问题
  • 轻松搞定VMware虚拟机的数据恢复
  • Centos7下安装与卸载docker应用容器引擎的方法
  • 3分钟用Docker搭建一个Minecraft服务器

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Docker中容器数据卷(Data Volume)和数据管理详解
    • OpenStack之虚机热迁移的代码详细解析
    • 详解在Docker容器内外互相拷贝数据的方法
    • 详解VirtualBox + CentOS 虚拟机网卡配置
    • 存储虚拟化与服务器虚拟化相辅相成
    • docker镜像无法上传的解决方法
    • Docker使用Dockerfile创建支持ssh服务自启动的容器镜像
    • Docker 下载镜像慢的问题解决办法
    • 网络虚拟化与下一代服务器:谁是赢家?
    • myeclipse中建web项目上传文件到hadoop,出现文件上传上去了,但是文件大小为0或小于当前文件解决方案,

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有