一、什么是docker?
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的
镜像 中,然后发布到任何流行的Linux 或Windows 机器上,也可以实现虚拟化 。容器是完全使用沙箱 机制,相互之间不会有任何接口Docker是基于容器技术的
轻量级 虚拟化解决方案
1、docker的基本组成
镜像(image)
Docker 镜像是用于创建 Docker 容器的模板,比如 Ubuntu 系统。通过一个镜像可以创建多个容器。
容器
Docker利用容器技术,运行一个或者多个应用,通过镜像来创建。
启动、停止、删除、基本命令
仓库
仓库(Repository)是集中存放镜像的地方。
- Docker Hub
- 阿里docker仓库 ??
- …
2、安装Docker (根据官方文档安装)
环境准备
1、 需要掌握基本的linux命令
2、 Ubuntu 18.04
3、使用Xshell连接远程服务器
环境查看
# 系统内核 4.15 以上 root@iZ2zeiqj5av1yaulh3shsuZ:~# uname -r 4.15.0-48-generic
# 系统版本 root@iZ2zeiqj5av1yaulh3shsuZ:~# cat /etc/os-release NAME="Ubuntu" VERSION="18.04.2 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubuntu 18.04.2 LTS" VERSION_ID="18.04" HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" VERSION_CODENAME=bionic UBUNTU_CODENAME=bionic
安装
官网文档地址
# 1、卸载旧的版本 $ sudo apt-get remove docker docker-engine docker.io containerd runc # 2、需要安装的包 $ sudo apt-get update #更新 apt $ sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common # 3、Add Docker’s official GPG key $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo apt-key fingerprint 0EBFCD88 # 查看是否添加成功 pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <[email protected]> sub rsa4096 2017-02-22 [S] # 4、设置镜像仓库 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 5、安装Docker引擎 (直接安装最新的) $ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io # 6、查看是否安装成功 (默认安装完好像自动启动了) $ docker version
# 6、运行 hello-world 镜像 $ sudo docker run hello-world
# 7、查看下载的镜像 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 10 months ago 13.3kB
3、阿里云镜像加速
1、登录阿里云找到容器镜像服务并开通
2、找到镜像加速器
3、配置使用
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://5qayfnj7.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
4、回顾hello-world镜像运行
Docker运行流程图
5、底层原理
Docker是怎么工作的?
Docker是一个client-server结构的系统 ,Docker的守护进程运行在主机上,通过Socket从客户端访问
Docker-Server接收到Docker-Client的指令后,就会执行这个命令。
Docker为什么比虚拟机快?
-
Docker有着比虚拟机更少的抽象层。
-
Docker利用的是宿主机的内核,而不需要Guest OS,因此,当新建一个容器时,Docker不需要和虚拟机一样重新加载一个操作系统,避免了引导、加载操作系统内核这个比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载Guest OS,这个新建过程是分钟级别的,而Docker由于直接利用宿主机的操作系统则省略了这个过程,因此新建一个Docker容器只需要几秒钟。