🌺个人主页:杨永杰825_Spring,Mysql,多线程-CSDN博客
🎉相关链接:Docker笔记(命令)-来自尚硅谷雷老师-CSDN博客
⭐每日一句:成为架构师路途遥远
📢欢迎大家:关注🔍+点赞👍+评论📝+收藏⭐️
目录
前言
- Docker 是一种开源的容器化平台,可用于构建、打包、分发和运行应用程序。它允许开发者在容器中封装应用程序和其依赖的所有组件,包括代码、运行时环境、系统工具和库。这样,开发者可以将应用程序与其所在的环境隔离开来,并在不同的计算机或操作系统上运行它们,而不需要担心环境不兼容或依赖冲突的问题。
- 使用 Docker,开发者可以使用一些简单的命令来构建容器镜像,然后将这些镜像分发给其他开发者或部署到生产环境中。容器镜像是一个可执行的文件,其中包含了应用程序的所有代码、运行时环境和依赖项,使得部署变得非常简单和可重复。
Docker基本概念
一、解决的问题
1、统一标准
应用构建
- Java、C++、JavaScript
- 打成软件包
- .exe
- docker build .... 镜像
应用分享
- 所有软件的镜像放到一个指定地方 docker hub
- 安卓,应用市场
应用运行
- 统一标准的 镜像
- docker run
2、资源隔离
- cpu、memory资源隔离与限制
- 访问设备隔离与限制
- 网络隔离与限制
- 用户、用户组隔离限制
二、架构
Docker_Host:
安装Docker的主机
Docker Daemon:
运行在Docker主机上的Docker后台进程
Client:
操作Docker主机的客户端(命令行、UI等)
Registry:
镜像仓库
Docker Hub
Images:
镜像,带环境打包好的程序,可以直接启动运行
Containers:
容器,由镜像启动起来正在运行中的程序
交互逻辑
装好Docker,然后去 软件市场 寻找镜像,下载并运行,查看容器状态日志等排错
三、安装
1、移除以前docker相关包
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
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