1、 解决问题

1、 统一标准

  • 应用构建
    • Java、C++、 JavaScript
    • 打成软件包
    • .exe
    • docker build …. 镜像
  • 应用分享
    • 所有软件的镜像放到一个指定地方 docker Hub
    • 安卓,应用市场
  • 应用运行
    • 统一标准的镜像
  • 。。。。。

容器化时代

2、资源隔离

  • CPU、memory资源隔离与限制
  • 访问设置隔离与限制
  • 网络隔离与限制
  • 用户、用户组隔离限制

…….

2、架构

Docker基本概念 - 图1

  • Docker_Host:
    • 安装Docker的主机
  • Docker Daemon:
    • 运行在Docker主机上的Docker后台进程
  • Client:
    • 操作Docker主机的客户端(命令行、UI等)
  • Registry:
    • 镜像仓库
    • Docker Hub
  • Images:
    • 镜像,带环境打包好的程序,可以直接启动运行
  • Containers:
    • 容器,由镜像启动起来正在运行中的程序

交互逻辑

装好Docker,然后去 软件市场 寻找镜像,下载并运行,查看容器状态日志等排错

3、安装

1、centos下安装docker

其他系统参照如下文档


https://docs.docker.com/engine/install/centos/


1、移除以前docker相关包

  1. sudo yum remove docker \
  2. docker-client \
  3. docker-client-latest \
  4. docker-common \
  5. docker-latest \
  6. docker-latest-logrotate \
  7. docker-logrotate \
  8. docker-engine

2、配置yum源

  1. sudo yum install -y yum-utils
  2. sudo yum-config-manager \
  3. --add-repo \
  4. http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装docker

sudo yum install -y docker-ce docker-ce-cli containerd.io


#以下是在安装k8s的时候使用
yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7  containerd.io-1.4.6


4、启动

systemctl enable docker --now


5、配置加速

这里额外添加了docker的生产环境核心配置cgroup

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker