dcoeker学习总结(2021.11.29待完成)
2021/11/29 6:07:37
本文主要是介绍dcoeker学习总结(2021.11.29待完成),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1,概述
虚拟化技术:容器(应用层)、虚拟机(软件层)
docker:隔离,镜像占用资源小,秒级 vm:GB级
docker基于Go语言开发的
2,docker基础
2.1,架构
图1 架构图
镜像(image):
docker镜像就像一个模板,例如:redis镜像》run》redis容器(对外提供服务)
一个镜像可以创建多个容器!!!
容器(container):
利用容器技术独立运行一个或者一组应用,通过镜像创建
启动、停止、删除
仓库(repository):类似github、gitlab代码仓库
存放镜像的地方:公有仓库和私有仓库
2.2,安装docker
图2 查看自己的服务器内核情况
图3 通过数据库
# 1,先删除老版本 sudo apt-get remove docker docker-engine docker.io containerd runc # 2,设置仓库 sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release # 3,直接进入阿里云docker加速镜像设置国内的镜像地址(https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors) sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://g8kfoxhi.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker # 4,安装docker sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io # 5,查看是否安装成功(执行hello-world程序) docker search hello-world docker pull hello-world docker run hello-world # 其他 docker的资源路径 /var/lib/docker # 如果想要协助该资源则可以直接 rm -rf /var/lib/docker
2.3,docker hello-world启动流程
图4 docker镜像启动流程
2.4,底层原理
docker是怎么工作?
docker是一个Client-Server结构的系统,docker的守护进程运行在主机上。通过socket从客户端访问!
图5 docker底层
docker为什么比虚拟机快?
1,docker只在应用层进行抽象
2,docker(秒级别)利用的是宿主机的内核,vm(分钟级别)需要Guest OS
所以说,新建一个容器的时候,docker不需要像虚拟机那样重新加载一个操作系统内核,避免引导!
图6 虚拟机与docker架构区别
图7 docker与虚拟机的性能差异
备注:当前docker也支持全平台
2.5,docker常用命令
帮助命令
docker version # 显示版本 docker info # 系统信息 docker [命令] --help # 帮忙命令
镜像命令
docker images # 查看所有镜像 REPOSITORY
搜索
docker search [namelike] Options: -f, --filter filter Filter output based on conditions provided --format string Pretty-print search using a Go template --limit int Max number of search results (default 25) --no-trunc Don't truncate output
下载
docker pull [name] # 如果不写tag,默认就是latest Usage: docker pull [OPTIONS] NAME[:TAG|@DIGEST] Pull an image or a repository from a registry Options: -a, --all-tags Download all tagged images in the repository --disable-content-trust Skip image verification (default true) --platform string Set platform if server is multi-platform capable -q, --quiet Suppress verbose output 例如: docker pull mysql docker pull docker.io/library/mysql:latest # 等价
删除镜像
docker rmi -f ${docker images -qa} # 删除所有 docker rmi -f [镜像id 镜像id ...] # 删除单个或多个
3,
4,
参考链接:
https://docs.docker.com/get-started/overview/
遇见狂神说-b站视频
这篇关于dcoeker学习总结(2021.11.29待完成)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享