docker的存在解决了哪些问题?
- 统一标准。
- 不同的应用有不同的编程语言,使用docker build将应用打成docker镜像,可以有效解决跨语言的问题。
- 支持应用分享。可以将docker镜像放在置顶地方。
- 支持应用运行。使用docker run可以运行景象。
- 资源隔离。
- 访问设备之间隔离
- cpu、memory资源隔离
- 用户、用户组隔离 docker的使用从虚拟化时代进入容器化时代。基础镜像MB级别,隔离性强,移植和分享很方便。
-
可移植性:不依赖具体的操作系统或云平台,比如在阿里云或腾讯云直接随意迁移。
-
安装包小:容器只需要其应用程序以及它需要运行的所有容器和库的依赖清单,不需要将所有的依赖库都打包在一起。
docker架构
- docker_host:安装docker的主机
- docker deamon:运行在docker主机上的docker后台进程
- registry:镜像仓库,如docker hub
- images:镜像
- containers:容器,由镜像启动起来正在运行的程序
docker命令实战
安装docker
其他系统参照如下文档 docs.docker.com/engine/inst…
- 移除其他docker安装包
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 配置yum源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装docker。docker-ce是社区版,docker-ce-cli是操作docker的命令行工具,containerd.io是docker的容器化工具。
sudo yum install -y docker-ce docker-ce-cli containerd.io
- 配置自启动
systemctl enable docker --now
- 配置镜像加速,参考
https://cr.console.aliyun.com/cn-beijing/instances/mirrors
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://rvzmkti6.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
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 20 天,点击查看活动详情