Docker概述
什么是Docker?
- Docker 是一个应用打包、分发、部署的容器
- 诞生于2013年,基于Go 语言实现
- Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上
- 容器是完全使用沙箱机制,相互隔离
- 容器性能开销极低
- 你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件
总结:docker是一种容器,用来解决软件跨环境部署,迁移的问题
Docker的主要功能
- 打包:把软件运行所需要的各种依赖,第三方库以及软件打包在一起,变为一个安装包(镜像)
- 分发:可以自己上传已经打包好的安装包(镜像)上传到一个镜像仓库,使得其他人可以方便 的获取
- 部署:当下载安装包(镜像)完成之后,可以直接用一条命令来运行应用,docker会自动模拟一 个一样环境来运行(Windows/Mac/Linux)
Docker架构
docker使用客户端-服务器架构。 Docker客户端(client) 与 守护进程(Docker daemon)进行对话,该守护进程完成了构建、运行和分发 Docker 容器的繁重工作
- 仓库(Repository):是docker提供的一个用来保存镜像的仓库.
- 镜像(Image):镜像就是一个可执行的包,用来创建容器,docker中每一个软件就是一个镜像.
- 容器(Container):容器是镜像运行时的实体。容器可被创建、启动、停止、删除、暂停等
Docker安装
Docker可以运行在MAC,Windows,CentOS,UBUNTU等操作系统上,本文基于CentOS8安装 Docker。
官网:https://www.docker.com
Docker安装
1.安装yum配置工具
yum install -y yum-utils
2.配置docker的yum源
yum-config-manager
--add-repo
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装
yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
4.测试
docker -v
5.启动,关闭,开机启动(设置开机启动 必须的)
systemctl start docker
systemctl stop docker
systemctl enable docker
Docker卸载
停止服务,卸载,删除文件
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
Docker配置
由于国外镜像网站不能使用,所以我们需要自己进行配置镜像源地址进行进行下载
1.在etc目录下创建docker目录
mkdir -p /etc/docker
2.进入到docker目录下
cd /etc/docker
3.创建一个daemon.json文件
touch daemon.json
4.打开daemon.json文件
vim daemon.json
5.修改文件内容
{
"registry-mirrors": ["https://dockerhub.icu"]
}
6.重载配置信息
systemctl daemon-reload
7.重启
systemctl restart docker
Docker服务命令
Docker镜像命令
显示镜像列表
docker images
从decker仓库拉取下载所需镜像到本地仓库
docker pull 镜像名
删除本地镜像
docker rmi 镜像名/镜像id
保存镜像到本地,生成tar文件
docker save 镜像名
载入本地已有镜像
docker load 镜像名
Docker镜像命令
创建一个新的容器并且运行
docker run 镜像名
查看已有容器
docker ps -a
启动容器
docker start 容器名
停止容器
docker stop 容器名
删除容器
rocker rm 容器名
查看容器日志
docker logs 容器名
镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。
容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。