Docker - 入门基础

原文地址,使用效果更佳!

Docker - 入门基础 | CoderMast编程桅杆https://www.codermast.com/dev-tools/docker/docker-basic.html

Docker架构

Docker 使用的是客户端-服务端(C/S)架构模式,使用远程 API 来管理和创建 Docker 容器。

Docker 客户端与 Docker 守护进程,负责构建、运行和 分发 Docker 容器。Docker 客户端和守护程序可以 在同一系统上运行,或者您可以将 Docker 客户端连接到远程 Docker 守护进程。Docker 客户端和守护程序使用 REST API 通过 UNIX 进行通信 套接字或网络接口。另一个 Docker 客户端是 Docker Compose, 这样,您就可以使用由一组容器组成的应用程序。

  • Docker客户端:可以是基于命令行的 Docker 客户端,也可以是基于图形化界面的 Docker 应用。

  • Docker服务端:一个运行 Docker 服务的机器,可以是本地主机,也可以是远程的服务器。

  • Docker守护进程:Docker 守护程序 () 侦听 Docker API 请求并管理 Docker 对象,例如映像、容器、网络和卷。守护进程也可以 与其他守护进程通信以管理 Docker 服务。

  • Docker桌面:是指在 Windows、Mac、Linux环境中易于安装,可视化构建和共享容器的应用程序。

Docker 的架构和 Redis 的几乎相同。

Docker镜像加速

Docker 安装好之后,在使用时我们需要拉取 Docker 镜像,这些 Docker 镜像存储在国外的 DockerHub 中,在国内访问不稳定,故此 Docker 官方和国内许多服务商提供了国内的加速器服务。

这里以 Docker 官方提供的国内加速服务为样例,进行配置教程,其他服务商的配置同理。

  • 命令行配置

对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

之后重新启动服务

复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 可视化界面配置

在设置中的 Docker Engine 内,插入如下配置即可。

复制代码
"registry-mirrors":[
        "https://registry.docker-cn.com"
]

插入,保存后,需要重启才能够生效。

  • 检查镜像是否生效

    docker info

复制代码
Registry Mirrors:
    https://registry.docker-cn.com/

只要出现如上的镜像链接,就是已经配置成功了。

样例剖析

提示

对上一节中的 centos 实例进行分析

Docker 允许在容器内运行应用程序,使用 docker run 命令来在容器内运行一个应用程序。这里同样是个Hello World,不同在于它是在容器内部运行的。

复制代码
docker run centos:latest /bin/echo "Hello World"

我们看下各个参数的含义:

  • docker: Docker 的二进制执行文件。
  • run: 与前面的 docker 组合来运行一个容器。
  • centos:latest:指定要运行的镜像,Docker 首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。
  • /bin/echo "Hello world": 在启动的容器里执行的命令以上命令。

完整的意思可以解释为:Dockercentos 最新的(默认是latest) 镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。

相关推荐
target酱17 小时前
Docker部署全流程
前端·docker
阿里云云原生17 小时前
稳定支撑大规模模型调用,携程旅游的 AI 网关实践
微服务
橙*^O^*安19 小时前
Kubernetes集群部署Jenkins指南
云原生·容器·kubernetes·jenkins·devops
Anthony_23119 小时前
MySQL的常用命令
运维·数据库·mysql·adb·docker
叫我阿柒啊19 小时前
从Java全栈到前端框架的实战之路
java·数据库·微服务·typescript·前端框架·vue3·springboot
蒋星熠19 小时前
WebSocket网络编程深度实践:从协议原理到生产级应用
网络·数据库·redis·python·websocket·网络协议·微服务
傻傻虎虎20 小时前
【Docker】常用帮忙、镜像、容器、其他命令合集(1)
运维·docker·容器
2301_7943339120 小时前
Docker Compose 运行 Milvus (Mac) 并与 python 连接测试
macos·docker·milvus
草履虫建模20 小时前
在 RuoYi 中接入 3D「园区驾驶舱」:Vue2 + Three.js + Nginx
运维·开发语言·javascript·spring boot·nginx·spring cloud·微服务
remaindertime20 小时前
(九)Spring Cloud Alibaba 2023.x:微服务接口文档统一管理与聚合
后端·spring cloud·微服务