Docker
什么是docker
Docker是一个容器化平台,它以容器的形式将你的应用程序及所有的依赖项打包在一起,以确保你的应用程序在任何环境中无缝运行。
什么是镜像
一种特殊的文件系统,是一种虚拟的概念,由一组文件系统组成,或者说,由多层文件系统联合组成.,可以想成照射在镜子中的图像
通过镜像可以做什么
通过指定的镜像可以构建对应容器,用于搭建环境
docker的作用
快速搭建兼容性环境问题, 解决项目交接时各个部门的环境搭建难题
docker和虚拟机的区别
虚拟机是重量级的,模拟宿主机的硬件,和系统,docker是轻量级的不需要模拟宿主机的硬件和系统,而是直接使用,
docker占用的资源少,可以在一台主机上创建很多容器,
docker的启动速度是毫秒级的,虚拟机启动可能要数分钟
docker的隔离性没有虚拟机好
docker的安装
下载社区版的Liunx安装包
将下载好的安装包上传到/root 目录
切换到安装包所在目录
cd docker-install
安装下载好安装包
rpm -ivh *.rpm
如有久版本需要卸载后在安装
sudo yum remove docker-ce \
docker-ce-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
启动docker系统服务
sudo systemctl start docker
设置 docker 开机启动
sudo systemctl enable docker
镜像加速
由于国内网络问题,需要配置加速器来加速。
修改配置文件 /etc/docker/daemon.json
cat <<EOF > /etc/docker/daemon.json //开启多行函数
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://hub-mirror.c.163.com"
]
}
EOF
只要系统有改动就需要重启docker
# 重新加载docker配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
运行 hello-world 镜像,验证 docker
sudo docker run hello-world
下载 CentOS 镜像
查看容器中运行的镜像
docker images ls
运行指定的镜像 xxxx - 镜像名, 或 image id 的前几位
docker run -it xxxx bash
什么是数据卷
数据卷就是被特殊命名的特殊目录,用于时间数据挂载,实现数据持久化,数据卷默认一直存在,即使容器被删除,只需要在创建的时候,数据挂载在同一数据卷下就可以还原数据
创建数据卷 xxx是数据卷的名字
docker volume create xxx
查看所有数据卷
docker volume ls
**查看指定 数据卷 的信息 ** xxx是数据卷的名字
docker volume inspect xxx
启动挂载数据卷的容器
docker run -it --mount source=my-vol,target=/webapp centos:7 bash
或者:
docker run -it -v my-vol:/webapp centos:7 bash目录