typora-copy-images-to: tupian
Docker
1.docker 基础
1.1 docker简介
Docker 是开源的应用容器引擎,提供了简单,灵活,高效的解决方,在云计算领域应用广泛。Docker 原本是由一个Paas提供商动态Cloud的创始人发起的内部项目,基于多年云服务技术的一次革新,使用Go开发,于2012年3月开源,后Docker火爆。2013年底,dotCloud改名docker,公司域名也为 Docker: Accelerated Container Application Development
注释:
云计算中服务包括三个层次: IaaS/基础设施即服务,PaaS/平台即服务,SaaS/软件即服务
1.2 docker用途
用户 |
---|
提供统一的运行环境 ,有效解决了各阶段环境不同导致的问题 |
便捷的应用迁移 确保了环境统一,以便更好地迁移项目,且正常运行 |
超快的启动时间 虚拟机:先启动再加载系统 耗时长 docker:在宿主机中 秒级 甚至毫秒级 |
更好地维护和扩展 有高质量官方镜像 降低了镜像制作成本 且采用了分层存储 |
1.docker 和虚拟机的区别
docker | 虚拟机 |
---|---|
启动快,通常属于秒级别 | 启动慢,通常需要几分钟 |
性能损耗更小 | 性能损耗较大 |
只能实现进程之间的隔离 | 能实现系统级别的隔离 |
2 Docker 引擎
2.1 Docker Client
Docker客户端,docker引擎提供的CLI工具,用于用户向docker提交命令请求
2.2 Dockerd
Dockerd,即docker Daemon ,主要包含镜像构建,镜像管理,REST API及编排等。其通过gRPC与Containerd通信。
2.3 Containerd
Containerd,即container daemon。 主要功能:管理容器的生命周期。通过调用Runc来完成创建容器。
后来,Docker将Containerd项目捐献给CNCF(云原生基金会)。
2.4Runc
Runc,Run Container。是OCI(开发容器倡议基金会)容器运行时规范的实现。其目标之一就是与OCI保持一致。使得docker Daemon不在包含任何容器运行时代码,简化了docker daemon。 作用:--创建容器,容器进程 启动完毕后,Runc会自动退出。
2.5 Shim
Shim 是实现"Daemonless Container" 不可缺的工具,使容器与 docker daemon 解耦。因此docker daemon 的维护和升级不会影响到运行中的容器。当Runc自动退出前,会将新容器进程的父进程指定为相应的Shim进程。
:(容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档 - 知乎 (zhihu.com)) 内含k8s弃用docker-shim。
3.Docker安装及镜像加速
3.1.1 Centos安装docker链接:Install Docker Engine on CentOS | Docker Docs
3.1.2 Ubuntu安装docker链接: Install Docker Engine on Ubuntu | Docker Docs文章来源:https://www.toymoban.com/news/detail-812604.html
3.2 阿里云镜像:
阿里云:网址链接:容器镜像服务 (aliyun.com)文章来源地址https://www.toymoban.com/news/detail-812604.html
#具体代码: sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["看个人阿里云加速地址"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
3.3 网易云镜像:
#具体代码: sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["http://hub-mirror.c.163.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
4.Dokcer 启停命令
4.1查看Docker服务状态:
[root@192 admin]# sudo systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2024-01-09 23:20:37 PST; ... containerd=/run/containerd/c... Jan 09 23:20:36 192.168.240.128 systemd[1]: Starting Docker Hint: Some lines were ellipsized, use -l to show in full.
4.2 开机自启Docker服务:
[root@192 admin]# sudo systemctl enable docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
4.3 开机不自启Docker服务:
[root@192 admin]# sudo systemctl disable docker Removed symlink /etc/systemd/system/multi-user.target.wants/docker.service.
4.4 启动Docker服务:
[root@192 admin]# sudo systemctl start docker
4.5 暂停Docker服务:
[root@192 admin]# sudo systemctl stop docker Warning: Stopping docker.service, but it can still be activated by: docker.socket [root@192 admin]# sudo systemctl status docker
到了这里,关于docker小白记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!