一、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