Docker学习笔记 第一记

*注:部分内容来自于网络摘取
懒得排版,凑合看吧
基于
Linux centos 7
Docker version 1.12.6*

什么是docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

docker的特性

    交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell   
    文件系统隔离:每个进程容器运行在完全独立的根文件系统里   
    写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间   
    资源隔离:可以使用cgroup为每个进程容器分配不同的系统资源   
    网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和IP地址   
    日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索   
    变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置

docker的原理

docker是一个容器引擎,容器就要求对进程空间、用户空间、网络空间、硬盘空间等等做一些隔离,docker的底层是使用LXC实现的,LXC则使用Linux Namespace技术对各种技术做隔离。

Linux Namespace是Linux提供的一种内核级别环境隔离的方法, 隔离的资源包括:Mount、UTS、IPC、PID、Network、User。

docker的基本构成

图片来自于网络

**Docker 镜像(Images): 镜像是用于创建 Docker 容器的模板。是一个只读模板,用来运行Docker容器。
Docker 容器(Container) :容器是独立运行的一个或一组应用。负责应用程序的运行,包括操作系统、用户添加的文件以及元数据。
DockerFile:是文件指令集,用来说明如何自动创建Docker镜像。**
Docker 客户端(Client) 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。
Docker 主机(Host)
一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker 仓库(Registry)
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。
Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
Docker Machine
Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

Docker 的安装

安装就不多说了,傻瓜式安装步骤如下:

1、 安装环境 : centOS 7 64位
2、 运行 uname -r 查看当前系统内核
3、 可选运行 yum update 进行 yum的更新
4、 安装docker 运行 yum install docker
5、 安装完毕后,运行 docker info 查看docker信息,在启动后执行
6、 运行 docker –version 查看docker版本
7、 运行 service docker start 启动服务
8、 运行 chkconfig docker on 设置开机启动

运行Docker

安装完毕了,那开始运行喽
先看看这三个操作docker服务的命令吧

service docker start #启动docker服务
service docker stop # 停止docker服务
service docker restart # 重新启动docker 服务

好了,服务起来了?
接下来,看看docker 的版本信息吧
运行 docker –version

[root@bogon myevn]# docker info
Containers: 4
 Running: 0
 Paused: 0
 Stopped: 4
Images: 13
Server Version: 1.12.6
Storage Driver: devicemapper
 Pool Name: docker-8:3-136136012-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 10.74 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 891.9 MB
 Data Space Total: 107.4 GB
 Data Space Available: 45.46 GB
 Metadata Space Used: 1.675 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.146 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Use `--storage-opt dm.thinpooldev` to specify a custom block storage device.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.135-RHEL7 (2016-11-16)
Logging Driver: journald
Cgroup Driver: systemd
Plugins:
 Volume: local
 Network: overlay bridge null host
Swarm: inactive
Runtimes: docker-runc runc
Default Runtime: docker-runc
Security Options: seccomp selinux
Kernel Version: 3.10.0-514.21.2.el7.x86_64
Operating System: CentOS Linux 7 (Core)
OSType: linux
Architecture: x86_64
Number of Docker Hooks: 2
CPUs: 2
Total Memory: 2.765 GiB
Name: bogon
ID: G276:IK5Z:5U2N:4DCW:ISYK:DVQE:XQM7:NTEA:4BAX:UACX:YV5P:V2YM
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值