docker简单来说,可以实现将项目带上环境安装进行打包
现在我们将项目打包带上环境(这一整个叫做镜像),发布到docker仓库里面(相当于仓库),以后想要使用就直接在仓库里面去下载这个镜像,然后便可以直接运行。
docker的思想来自于集装箱,每个箱子是相互隔离的。
docker通过隔离机制,将服务器利用到极至。
docker基于Go开发的开源项目
docker官方文档地址:https://docs.docker.com/
仓库地址:https://hub.docker.com/
容器化技术:不是虚拟出一套完整的操作系统
传统虚拟机:
虚拟出一整个硬件,在其桑运行一个完整的操作系统,然后在这个操作系统上安装程序
docker:
1.容器内的应用直接运行在宿主机上,容器没有自己的内核,有没有虚拟硬件,所有就比较轻便
2.每个容器间是互相隔离的,互不影响
由上图可以发现,docker主要分为三部分:客户端、服务器(包括镜像和容器)和仓库
镜像(image):
docker镜像就如一个模板,可以通过这个模板来创建容器服务
通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中进行的)
容器(container):
docker利用容器技术,独立运行一个或一个组应用,通过镜像来创建
其中包括的内容大致为:启动、停止、删除、基本命令
仓库(repostory)
仓库就是存放镜像的地方
分为公有仓库和私有仓库(默认是国外的)
官方帮助文档:https://docs.docker.com/engine/install/centos/
1 卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2 安装需要安装的安装包
sudo yum install -y yum-utils
3 设置镜像仓库:在这里使用国内的,官网上的帮助文档是国外的网址
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4 更新yum软件索引
yum makecache fast
5 安装docker相关的内容 :docker-ce 社区版
sudo yum install docker-ce docker-ce-cli containerd.io
也可以安装指定版本的docker
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
6 启动docker
sudo systemctl start docker
# 查看是否安装成功
docker version
sudo docker run hello-world
docker images
# 1、卸载依赖
sudo yum remove docker-ce docker-ce-cli containerd.io
# 2、删除资源
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
# /var/lib/docker docker的默认工作路径
地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
注意:每个人都有自己的镜像加速的内容,不可以按我这个配置,需要自己去阿里云服务器中知道镜像加速
1 创建目录
sudo mkdir -p /etc/docker
2 编写配置文件
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://qiyb9988.mirror.aliyuncs.com"]
}
EOF
3 重启服务
sudo systemctl daemon-reload
4 重启docker
sudo systemctl restart docker