小编sta*_*nny的帖子

Minikube、Kubernetes、Docker Compose、Docker Swarm 等的区别

我是集群容器管理的新手,这个问题是这里所有新手的基础。

我阅读了一些文档,但我的理解仍然不太清楚,所以任何线索..有助于理解?

  1. 在某处提到,Minikube 用于在本地运行 Kubernetes。那么如果我们要在我的四节点树莓派中维护集群管理,那么 Minikube 是不是不二之选呢?
  2. Minikube 是否只支持单节点系统?
  3. Docker Compose 是一组指令和一个 YAML 文件,用于配置和启动多个 Docker 容器。我们可以用它来启动不同主机的容器吗?然后对于需要调用第二台主机的容器的简单编排,我不需要任何集群管理,对吗?
  4. Docker Swarm 和 Kubernetes 之间的联系是什么?两者都是独立的集群管理。在树莓派上使用 Kubernetes 有效率吗?有什么问题,因为我被告知单节点中的 Kubernetes 占用了完整的内存和 CPU 使用率?这是真的吗?
  5. 树莓派还有其他集群管理吗?

我认为这 4-5 组会更好地帮助我。

raspberry-pi docker kubernetes docker-swarm minikube

10
推荐指数
3
解决办法
7455
查看次数

显示命令的特定列

我只想显示命令中所有记录的特定列。

示例:docker ps显示 10 列中的数据。列标题之间可以有空格。我的要求是以某种顺序只获得 2-4 列。

在任何以表格方式响应的命令中是否有直接的方法来做到这一点?

我是 Linux 新手,正在考虑这是否可行。谢谢。


例如:

$ docker ps
CONTAINER ID  IMAGE   COMMAND     CREATED             NAMES
123           image   "ABC DEF"   10 hours ago        image ABC
Run Code Online (Sandbox Code Playgroud)

在上面的场景中,CONTAINER ID是一个标题列但有空间,并且在NAMES列的行中可以有空间。

使用AWK, CUTetc 为所有命令编写通用脚本比较棘手,因为它们适用于“空间”逻辑。

unix linux bash shell command-line

7
推荐指数
2
解决办法
5434
查看次数

Docker 注册表镜像 - 持久化

我已经创建了 docker 私有注册表,并且能够从同一网络中的其他 raspi 推送和拉取(将注册表 ip 添加到 insecure-registry 选项)

docker push registry-ip:5000/image
Run Code Online (Sandbox Code Playgroud)

但是当我的注册表服务器计算机重新启动时,我无法看到存储库映像,我需要再次将映像推送到注册表主机:

curl -v registry-server-ip:5000/v2/_catalog
Run Code Online (Sandbox Code Playgroud)

什么也不返回

为什么会这样呢?它应该是持久的,并且应该将镜像保留在注册表中,因为它存储在 docker 镜像中

任何可以处理这种情况的解决方法或任何配置

================更新==============================

Docker-Compose.yml

version: '3.4'
services:
  service1:
    image: ${REGISTRY_SERVER_IP}:5000/service1
    build: .
    restart: always
    deploy:
      mode: global
      restart_policy:
        condition: on-failure
      ports: 
        - 3632:3632
      entrypoint: 
        - init.sh
Run Code Online (Sandbox Code Playgroud)

init.sh 只是运行某些服务器的脚本
Dockerfile 具有带有一些 apt-get install update 命令的基础映像

我正在运行这个脚本:

  1. 创建注册服务器

docker service create --name registry --publish published=5000,target=5000 registry:2 --> 这将在同一台机器上创建注册表服务器

  1. 运行docker-compose build --> 使用 docker 文件在本地构建镜像

  2. docker-compose push --> 像在 docker compose 中一样推送到注册表服务器

现在,当我重新启动机器时,容器/服务会自动触发,但存储库中的图像会丢失。

registry raspberry-pi docker docker-swarm

5
推荐指数
1
解决办法
2036
查看次数

在创建 docker 服务时检测到某些图像的任务失败

我正在尝试创建 docker swarm 服务,但出现了一些奇怪的行为:

对于某些图像,它是成功的,对于某些图像,我收到错误消息:

docker service create nginx 89t21k3udf007pvl2ucvmdp9l overall progress: 1 out of 1 tasks 1/1: running [==================================================>] verify: Service converged --> 成功

docker service create hello-world 8hhdki32ypfwshh2wvijkkmvb overall progress: 0 out of 1 tasks 1/1: preparing [=================================> ] verify: Detected task failure --> 失败

供您参考:docker pull hello-world工作正常。

我的印象是我们可以为所有图像创建服务,是否有任何条款和条件?我错过了什么吗?

注意:这是基本部分,但我的主要目的是为本地注册表镜像创建服务。但是在调试的第一步中发现了问题,即hello-world。

docker docker-swarm docker-swarm-mode

3
推荐指数
1
解决办法
6078
查看次数