docker - 如何使用Kubernetes/Docker在本地有效地工作?

标签 docker kubernetes

我是Docker的新手,我刚刚在本地使用Kubernetes(使用Minikube)进行了首次测试,这听起来很有希望!
现在,我想知道在编写代码时如何有效地使用这些工具。

使用docker,我对这个过程不是很满意,但是还算不错:

  • 我更改了代码
  • 我停止了容器
  • 我重建图像
  • 我再次运行图像

  • 我猜想有一些方法/工具可以避免手动执行所有这些步骤,但是我在想以后再潜水。

    但是现在我使用Kubernetes / Minikube,这是开发过程的样子:
  • 我更改了代码
  • 我删除了pod
  • 我重建图像
  • 我将其保存为tar存档,然后将其加载到minikube中

  • 每当我们对代码进行更改时,执行所有这些步骤会大大降低生产率。

    每当我们对代码进行更改时,是否有一种方法可以优化/自动化此过程?

    最佳答案

    我们提供了许多第三方工具来帮助您解决此问题,例如Draftgitkube

    我个人使用草稿,它创建了类似于heroku的工作流程,从而使推送新应用程序变得更加容易。

    将草案与minikube结合使用非常简单:

    # enable some plugins
    minikube addons enable registry
    minikube addons enable ingress
    
    # install helm
    # depends on your workstation, I have a mac so:
    brew install kubernetes-helm
    
    # configure helm on your minikube
    helm init
    
    # install draft
    brew tap azure/draft
    brew install draft
    draft init --auto-accept --ingress-enabled
    
    # from your repo do:
    draft create --app myapp
    # run your app
    draft up
    

    更多资源:

    https://medium.com/@vittore/draft-on-k8s-part1-e5b046857df4

    https://radu-matei.com/blog/real-world-draft/

    关于docker - 如何使用Kubernetes/Docker在本地有效地工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49900077/

    相关文章:

    linux - 上一个图像中存在文件夹时,docker RUN mkdir 不起作用

    docker - .dockerignore 中的异常

    docker - 无法绑定(bind)到 http ://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address' for release version

    postgresql - 如何在 kubernetes 上使用密码连接到 psql

    flask - kubernetes 的 Ingress 只调用索引路由而不调用其他路由

    cookies - Kubernetes 集群上的粘性 session

    php - 如何强制使用新的wordpress docker镜像?

    python - 为 CI 预先安装依赖项的 Docker 镜像

    elasticsearch - 在 k8s pod 中运行 Logstash 需要哪些资源?

    bash - 命名路径的 kubectl jsonpath 表达式