Docker安装
Docker的基本组成
镜像(image)
Docker镜像好比是一个模板,可以通过这个模板来创建容器服务
tomcat镜像 =》run =》tomcat01容器(提供服务器)
容器(container)
Docker利用容器技术,独立运行一个或一组应用,通过镜像来创建。
基本命令:启动 停止 删除
目前可以将这个容器理解为一个简易的Linux系统
仓库(repository)
仓库是存放镜像的地方
仓库分为共有仓库和私有仓库
Docker Hub(默认是国外的)
阿里云,华为云等都有容器服务器(配置镜像加速)
安装
ubuntu
我的环境(换成centos了,教程在ubuntu后面):Oracle VM VirtualBox 虚拟机版本:Ubuntu 18.04??
-
卸载已经安装的版本:
- 命令:sudo apt-get remove docker docker-engine docker.io containerd runc
- 如果没有安装过,会报如下信息
-
设置仓库
-
更新apt包索引:
sudo apt-get update
-
安装apt依赖包,用于通过HTTPS来获取仓库
-
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg \
lsb-release
- 添加gpc秘钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 使用aliyun镜像
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] http://mirrors.aliyun.com/docker-ce/linux/ubuntu/ \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- 安装Docker引擎
sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
-
启动Docker
systemctl start docker
-
查看版本(是否安装成功)
sudo docker version
-
测试运行
sudo docker run hello-world
-
查看hello-world镜像
sudo docker images
-
了解:卸载
- 卸载依赖
- 删除资源
CentOS
Oracle VM VirtualBox 虚拟机版本:CentOS-7
-
卸载已经安装的版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
-
设置存储库
# 安装yum-utils包 yum install -y yum-utils # 设置镜像仓库 # 官方(不推荐,太慢) sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo # 国内镜像(阿里云) yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装Docker引擎
- 安装最新版本的 Docker Engine 和 containerd,或者进入下一步安装特定版本:
# 安装最新Docker sudo yum install docker-ce docker-ce-cli containerd.io
-
更新yum软件包索引
yum makecache fast
-
安装Docker相关的
-
docker-ce:社区版 ee:企业版
# 安装最新版本 yum install docker-ce docker-ce-cli containerd.io # 也可指定版本进行安装
-
之后的步骤参考ubuntu
docker的默认工作路径:/var/lib/docker ;查看的时候需要权限sudo
配置阿里云镜像加速
回顾HelloWorld流程
底层原理
Docker是怎么工作的
- Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问
- Docker-Server接收到Docker-Client的指令,就会执行这个命令
Docker为什么比VM快?
- Docker有着比虚拟机更少的抽象层
- Docker利用的是宿主机的内核,VM需要的是Guest OS
所以新建一个容器的时候,docker不需要虚拟机一样重新加载一个操作系统的内核,避免引导。
虚拟机是加载Guest OS,是分钟级别的;Docker是利用宿主机的操作系统,省略了这个复杂的过程,是秒级的