Docker的基本组成
镜像(image)
Docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,
tomcat镜像—->run—->tomcat01容器(提供服务),通过这个镜像可以创建多个容器(最终服务运行或项目运行就是在容器中的)
容器(container)
Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。
启动,停止,删除,基本命令
目前就可以把这个容器理解为一个简易的Linux系统
仓库(repository)
仓库就是存放镜像的地方
仓库分为共有仓库和私有仓库
Docker Hub(默认是国外的,需要镜像加速)
安装Docker
环境准备
- Linux基础
- CentOS 7
- Xshell远程终端工具
环境查看
# 系统内核是3.10以上的
[root@localhost ~]# uname -r
3.10.0-1160.25.1.el7.x86_64
# 系统版本
[root@localhost ~]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
安装
帮助文档:https://docs.docker.com/engine/install/centos/
# 1 卸载旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2 需要的安装包
yum install -y yum-utils
# 3 设置镜像的仓库
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 #阿里云镜像
# 更新yum索引
yum makecache fast
# 4 安装docker docker-ce 社区版 ee 企业版
yum install docker-ce docker-ce-cli containerd.io
# 5 启动docker
systemctl start docker
# 6 查看是否安装成功
docker version
# 7 hello word
docker run hello-world
# 8 查看一下下载的这个hello-world镜像
docker images
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest d1165f221234 3 months ago 13.3kB
了解:卸载docker
# 1 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2 删除资源
rm -rf /var/lib/docker
# /var/lib/docker docker的默认工作路径
阿里云镜像加速 (只针对服务器在阿里云的用户)
- 登录阿里云找到容器镜像服务
- 找到镜像加速地址
- 配置使用 ``` sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’ { “registry-mirrors”: [“https://bxzvpm5j.mirror.aliyuncs.com“] } EOF
sudo systemctl daemon-reload
sudo systemctl restart docker ```
回顾Hello World启动
底层原理
Docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker 的守护进程运行在宿主机上,通过Socket从客户端访问。
DockerServer接收到DockerClient的指令,就会执行这个命令。
Docker为什么比VM快?
- Docker有着比虚拟机更少的抽象层。
- Docker利用的是宿主机的内核,VM需要的是Guest OS,新建一个容器的时候,Docker不需要像虚拟机一样重新加载一个操作系统内核,避免引导。