一、docker的概述
简单来说就是:一套系统,分为开发和上线两套系统,发布项目时候,往往会因为配置环境的不同而导致项目部署失败。docker的出现解决了这个问题,docker会将 代码 + 环境 打包,保证系统的稳点性。
基本组成
- 容器(container):一个独立运行的、可隔离的应用程序运行环境。每个容器具有自己的文件系统、进程空间、网络环境等,与其他容器相互隔离。
- 镜像(image):用于创建容器的模板。镜像包含了应用程序的代码、运行时环境、系统工具等。可以通过镜像创建多个容器。
- 仓库(repository):用于存储和共享镜像的场所。可以从仓库中下载镜像,也可以将自己构建的镜像上传到仓库中。
注意:docker本身不是容器,它只是管理容器
容器(docker) VS 虚拟机(VMware)
在docker未出现之前,用的都是虚拟化技术。但是有很多缺点:资源占用多,冗余步骤多,启动很慢。
docker容器 | 虚拟机 | |
性能 | 接近原生 | 性能较差 |
磁盘占用 | 一般为MB | 一般为GB |
安全性 | 中 | 强 |
GuestOS | 支支持linux | 全部 |
二、docker的安装
环境准备
需要有一台linux系统
基于centos7安装docker
安装教程参考:CentOS | Docker Docs
卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装环境
安装基本的环境
sudo yum install -y yum-utils
设置镜像的仓库
不要用官网默认这个!
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo # 默认是国外的
用下面这个阿里云的
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新软件包
sudo yum update
安装docker引擎
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
启动docker
systemctl start docker
启用阿里云镜像
这里有一个坑:一般情况下,使用阿里云的镜像没问题,如果使用的云服务器,需要注意,如果你是在其他平台买的云服务器,比如我这里买的是华为的云服务器使用阿里云的镜像就拉不出来镜像。最好是在购买平台上看看有没有对应的容器镜像服务,使用其容器镜像地址,大概率不会出错。
选择控制台
在搜索栏搜索“容器镜像”,选择提示栏中的控制台--容器镜像服务
选择镜像加速器,复制加速器地址
创建docker文件夹
sudo mkdir -p /etc/docker
写出阿里云镜像
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["替换为自己的阿里云镜像地址"]
}
EOF
重启docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker
测试docker服务是否部署成功
docker里面专门有测试的镜像
sudo docker run hello-world
成功后就是这样的画面