Docker虚拟化

本文详细介绍了Docker虚拟化技术,包括Docker的起源、与传统虚拟化的对比、安装步骤、容器和镜像管理、镜像仓库构建、网络配置、数据存储以及资源限制。讲解了Docker的重要概念,如仓库、镜像和容器,以及如何通过Dockerfile创建自定义镜像。此外,还探讨了Docker的网络隔离和数据持久化策略,以及如何限制容器的内存和CPU使用。
摘要由CSDN通过智能技术生成

一、Docker 简介

1、Docker 诞生

Docker 是 dotcloud 公司开源的一款产品 dotcloud 是 2010 年新成立的一家公司,主要基于 PAAS ( Platfrom as a Service ) 平台为开发者提供服务。2013 年 10 月 dotcloud 公司改名为 Docker 股份有限公司

2、Docker 相关解释

  • Linux Container 是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源

  • Docker 是 PAAS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于 go 语言并遵从 Apache2.0 协议开源

  • Docker 设想是交付运行环境如同海运,OS 如同一个货轮,每一个在 OS 基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造

3、Docker 与传统虚拟化对比

4、Docker 的构成

  • Docker 仓库:https://hub.docker.com

  • Docker 自身组件

    • Docker Client:Docker 的客户端
    • Docker Server:Docker daemon 的主要组成部分,接受用户通过 Docker Client 发出的请求,并按照相应的路由规则实现路由分发
    • Docker 镜像:Docker 镜像运行之后变成容器(docker run)

5、Docker 历经过程


 

二、Docker 安装

1、Docker 的安装方式

Script Install

yum update

$ curl -sSL https://get.docker.com/ | sh

systemctl start docker

systemctl enable docker

docker run hello-world

YUM Install

yum update

cat >/etc/yum.repos.d/docker.repo <<-EOF

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg EOF

yum install docker

RPM Install

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/

2、Docker 镜像加速配置

[root@docker ~]# cp /lib/systemd/system/docker.service /etc/systemd/system/docker.service

[root@docker ~]# chmod 777 /etc/systemd/system/docker.service

[root@docker ~]# vim /etc/systemd/system/docker.service

19           --registry-mirror=https://kfp63jaj.mirror.aliyuncs.com \			//添加一行

[root@docker ~]# systemctl daemon-reload

[root@docker ~]# systemctl restart docker

[root@docker ~]# ps -ef | grep docker

阿里云Docker官网:https://dev.aliyun.com/search.html

3、Docker 化应用体验

环境分析 WordPress 运行环境需要如下软件的支持:

  • PHP 5.6 或更新软件

  • MySQL 5.6 或 更新版本

  • Apache 和 mod_rewrite 模块

代码展现

[root@docker ~]# docker run --name db --env MYSQL_ROOT_PASSWORD=example -d mariadb

[root@docker ~]# docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress


三、Docker 容器管理

1、Docker 基础概念

Docker 三个重要概念:仓库 (Repository)、镜像 (image) 和 容器 (Container)


docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress

Docker 指令的基本用法:

docker + 命令关键字(COMMAND) + 一系列的参数

2、Docker 基础命令

docker info                 守护进程的系统资源设置

docker search Docker 仓库的查询

docker pull   Docker 仓库的下载

docker images             Docker 镜像的查询

docker rmi                  Docker  镜像的删除

docker ps                    容器的查询

docker run                  容器的创建启动

docker start/stop         容器启动停止

# Docker 指令除了单条使用外,还支持赋值、解析变量、嵌套使用

3、单一容器管理命令

每个容器被创建后,都会分配一个 CONTAINER ID 作为容器的唯一标示,后续对容器的启动、停止、修改、删除等所有操作,都是通过 CONTAINER ID 来完成,偏向于数据库概念中的主键

docker ps --no-trunc                               查看

docker stop/start CONTAINERID          	停止

docker start/stop MywordPress               通过容器别名启动/停止

docker inspect MywordPress                 查看容器所有基本信息

docker logs MywordPress                       查看容器日志

docker stats MywordPress                     查看容器所占用的系统资源

docker exec 容器名 容器内执行的命令  容器执行命令

docker exec -it 容器名 /bin/bash            登入容器的bash

4、Run 常用的一些参数

--restart=a
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值