一. Docker介绍.
引言:
1. 我本地运行没问题啊.
环境不一致的问题. -> Docker
2. 哪个哥们又写了死循环,怎么这么卡.
多用使用操作系统相互影响. -> Docker
3. 天猫,淘宝在双11的时候,用户量实时暴增.
运维成本多高. -> Docker可以实现弹性伸缩,快速扩展服务器.
4. 学习一门技术时,安装的成本太高了.
安装软件成本多高. -> Docker可以快速的安装软件
二.Docker的思想.
1. 集装箱:
将所有需要运行的环境,或软件,全部的打包放在集装里,谁需要用的那些环境和软件,就直接拿到这个集装箱就可以.
2. 标准化:
运输的标准化: Docker有一个码头,所有的集装箱都放在码头,谁需要直接去获取就可以了.
命令的标准化: Docker提供了一系列的命令,可以直接通过命令的方式指派封装集装箱,运输集装箱,集装箱内的内容运行.
提供了REST的API: Docker的标准API,也衍生出了很多的图形化界面. Rancher.
3. 隔离性:
Docker运行的是集装箱内的内容,在Linux的内核中,开辟一片独立的空间,不会影响Linux其他内容
组成:
注册中心. (中央仓库,超级码头).
镜像. (集装箱).
容器. (运行后的镜像. 镜像 -> 类. 容器 -> 对象.)
三. Docker的基本操作.
安装依赖:
yum -y install yum-utils device-mapper-persisten-date lvm2
设置一个镜像源并安装:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
开始安装Docker
yum makacache fast
yum -y install docker-ce
启动docker并测试
# 启动docker
systemctl start docker
# 开机自动启动docker
systemctl enable docker
# 测试docker
docker run hello-world
四:docker的注册中心
4.1 中央仓库.
Docker官方提供的注册中心.
https://hub.docker.com/
虽然镜像比较全面,但是下载速度感人
4.2 国内的私服下载.
网易蜂巢.
https://c.163.com/hub
-------------------------------------------
daoCloud
http://hub.daocloud.io/(推荐)
五:镜像的操作
5.1 如何拉取镜像.
docker pull 镜像[:tag]
拉取tomcat镜像到本地.
docker pull daocloud.io/library/tomcat:8.5.15-jre8
5.2操作本地镜像
# 查看全部的镜像.
docker images
# 删除本地镜像.
docker rmi 镜像id
5.3 镜像的导入导出
# 将本地的镜像导出成一个文件.
docker save -o 导出的路径 镜像id
# 镜像的导入.
docker load -i 文件
# 不推荐使用,但是可以实现docker镜像的迁移
六. 操作Docker容器.
6.1 运行容器
直接运行容器. (docker run hello-world -> 在镜像不存在时,会自动下载,并且下载最新的版本)
docker run 镜像的id|镜像名称[:tag]
# 后台运行容器.
docker run -d 镜像的id|镜像名称[:tag]
# 完成运行容器命令
docker run -d -p 宿主机端口:容器端口 -v 数据卷:容器路径 -e 环境名称=值 --name 容器名称 镜像id
6.2 查看容器.
# 查看正在运行的容器.
docker ps
# 查看全部的容器.
docker ps -a
# 查看容器运行时的日志
docker logs -f 容器id
# 进入到容器内部的shell.
docker exec -it 容器id bash # 如果想退出 exit
6.3 停止容器
# 停止正在运行的容器
docker stop 容器的id
# 运行容器.
docker start 容器id
# 删除容器
docker rm 容器id
# 启动|停止|删除全部容器.
docker start|stop|rm $(docker ps -qa)
数据卷以及一些应用稍微晚点再放上去,如果有人看的话