### Docker的三大核心概念 ❑ 镜像(Image)❑ 容器(Container)❑ 仓库(Repository) * ##### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E9%95%9C%E5%83%8F)镜像 Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。镜像是创建Docker容器的基础,有了镜像,就可以用这个镜像创建容器。 * ##### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E5%AE%B9%E5%99%A8)容器 Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行实例。它可以启动、开始、停止、删除,而这些容器都是彼此相互隔离、互不可见的。可以把容器看作一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。 * ##### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E4%BB%93%E5%BA%93)仓库 Docker仓库类似于代码仓库,是Docker集中存放镜像文件的场所。 ***** ### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85docker)一键安装Docker ~~~ $ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun ~~~ Dcloud安装 ~~~ $ curl -sSL https://get.daocloud.io/docker | sh ~~~ ***** ### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#ubuntu%E6%90%AD%E5%BB%BAdocker)Ubuntu搭建Docker Docker目前支持的最低Ubuntu版本为14.04 LTS,但实际上从稳定性上考虑,推荐使用16.04 LTS或18.0.4 LTS版本,或者20.04LTS版本,并且系统内核越新越好,以支持Docker最新的特性。 官方文档:[https://docs.docker.com/engine/install/ubuntu/](https://docs.docker.com/engine/install/ubuntu/) ##### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E6%9B%B4%E6%8D%A2%E6%BA%90%E5%8F%AF%E9%80%89%E5%A6%82%E6%9E%9C%E6%9B%B4%E6%8D%A2%E4%B8%BA%E6%B8%85%E5%8D%8E%E6%BA%90%E5%88%99%E5%90%8E%E9%9D%A2%E7%9A%84%E5%AE%89%E8%A3%85%E6%AD%A5%E9%AA%A4%E5%8F%82%E6%95%B0%E9%9C%80%E8%A6%81%E6%8C%87%E5%AE%9A%E4%B8%BA%E6%B8%85%E5%8D%8E%E6%BA%90)更换源(可选,如果更换为清华源,则后面的安装步骤参数需要指定为清华源) * 清华大学ubuntu源: * [https://mirror.tuna.tsinghua.edu.cn/ubuntu](https://mirror.tuna.tsinghua.edu.cn/ubuntu) * 官方文档: * [https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/](https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/) * vim /etc/apt/sources.list替换源 * 更新包索引 * sudo apt-get update ##### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85docker)手动安装docker 移除系统中可能存在的旧版本的Docker ~~~ $ sudo apt-get remove docker docker-engine docker.io containerd runc ~~~ 安装可以通过https使用仓库的一些相关包 ~~~ $ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common ~~~ 添加GPG key清华源: ~~~ $ curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add - ~~~ ubuntu源: ~~~ $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ~~~ 验证指纹 ~~~ sudo apt-key fingerprint 0EBFCD88 ~~~ 应该得到如下内容: pub rsa4096 2017-02-22 \[SCEA\]9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88uid \[ unknown\] Docker Release (CE deb)[docker@docker.com](http://mailto:docker@docker.com/)sub rsa4096 2017-02-22 \[S\] 添加docker-ce的仓库 清华源: ~~~ $ sudo add-apt-repository \ "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable" ~~~ ubuntu源: ~~~ $ echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ~~~ 安装docker ***安装前需要再次更新源:*** ~~~ $ sudo apt update ~~~ ~~~ $ sudo apt-get install docker-ce docker-ce-cli containerd.io ~~~ **更换docker镜像源:(可选)** ~~~ $ sudo vim /etc/docker/daemon.json ~~~ ~~~ { "registry-mirrors": ["http://hub-mirror.c.163.com"] } ~~~ 启动docker ~~~ sudo systemctl start docker ~~~ ***** ### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#centos%E6%90%AD%E5%BB%BAdocker)Centos搭建Docker Docker目前支持CentOS 7及以后的版本。 ##### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#centos%E6%9B%B4%E6%8D%A2%E6%BA%90%E6%96%B9%E6%B3%95)CentOS更换源方法: 更换为网易源: ~~~ $ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bakup $ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo $ yum clean all $ yum makecache ~~~ ##### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85docker-2)手动安装docker ~~~ $ sudo yum update $ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 ~~~ ~~~ $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo ~~~ ~~~ $ sudo yum update $ sudo yum install -y docker-ce ~~~ 启动Docker服务: ~~~ $ sudo systemctl docker start ~~~ ***** #### [](https://note.youdao.com/md/?defaultMode=view&fileId=WEB42f1a8249c98db095000ce3ec27f065f#%E9%85%8D%E7%BD%AEdocker%E7%94%A8%E6%88%B7)配置Docker用户 为了避免每次使用Docker命令时都需要切换到特权身份,可以将当前用户加入安装中自动创建的docker用户组 ~~~ $ sudo usermod -aG docker $USER ~~~ 更新docker组 ~~~ $ newgrp docker ~~~