Docker 桌面版支持 kubernetes

Docker for Mac v17.12 正式支持 k8s。

Docker for Windows v18.02-rc1 正式支持 k8s。

相关文章

视频:https://www.bilibili.com/video/av17307986/

加入计划

首先使用 Docker 账号在 https://beta.docker.com 注册预览计划,之后在 Docker 菜单登录该 Docker 账号。

kubectl

之前使用 brew 安装了 kubectl 请先卸载。

$ brew remove kubernetes-cli

启用

在 Docker 设置中启用 k8s,具体图解请查看 官方文档

镜像列表

注意,需要从 gcr.io 拉取以下镜像,由于网络问题可能会失败。

镜像列表:https://github.com/khs1994-docker/docker-with-kubernetes

Minikube

之前你可能使用了 minikube ,使用以下命令切换到 docker-for-desktop

$ kubectl config get-contexts

CURRENT   NAME                 CLUSTER                      AUTHINFO             NAMESPACE
          docker-for-desktop   docker-for-desktop-cluster   docker-for-desktop
*         minikube             minikube                     minikube

$ kubectl config use-context docker-for-desktop

查看集群详情

$ kubectl cluster-info

Kubernetes master is running at https://localhost:6443
KubeDNS is running at https://localhost:6443/api/v1/namespaces/kube-system/services/kube-dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

查看节点

$ kubectl get node

NAME                 STATUS    ROLES     AGE       VERSION
docker-for-desktop   Ready     master    8h        v1.8.2

使用 docker 命令部署 k8s 服务

官方文档:https://docs.docker.com/docker-for-mac/kubernetes/

新建 docker-compose.yml 文件。

version: '3.3'

services:
  web:
    build: web
    image: dockerdemos/lab-web
    volumes:
     - "./web/static:/static"
    ports:
     - "80:80"

  words:
    build: words
    image: dockerdemos/lab-words
    deploy:
      replicas: 5
      endpoint_mode: dnsrr
      resources:
        limits:
          memory: 16M
        reservations:
          memory: 16M

  db:
    build: db
    image: dockerdemos/lab-db

部署服务

$ docker stack deploy --compose-file docker-compose.yml mystack

查看服务详情

$ docker stack services mystack

# or

$ kubectl get services

指定命名空间

默认的命名空间为 default,使用以下命令自定义命名空间。

$ docker stack deploy --namespace my-app --compose-file docker-compose.yml mystack

Swarm mode 部署

如果你想使用 Swarm mode 相关命令,你必须在前面加上 DOCKER_ORCHESTRATOR=swarm

$ DOCKER_ORCHESTRATOR=swarm docker node ls

$ DOCKER_ORCHESTRATOR=swarm docker stack deploy --compose-file /path/to/docker-compose.yml mystack

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏史上最简单的Spring Cloud教程

史上最简单的SpringCloud教程 | 第十一篇: docker部署spring cloud项目

一、docker简介 Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地...

52960
来自专栏清风

Linux 测试远程服务器端口开放命令&测试本地端口占用命令

14730
来自专栏圣杰的专栏

.NET Core容器化@Docker

温馨提示:本文适合动手演练,效果更佳。 ?  1. 引言 我们知道. NET Core最大的特性之一就是跨平台,而对于跨平台,似乎大家印象中就是可以在非Wi...

32670
来自专栏纯洁的微笑

Docker(六):Docker 三剑客之 Docker Swarm

22630
来自专栏程序员笔记

Docker 学习手册

25540
来自专栏耕耘实录

Docker初体验,创建并导出第一个本地镜像

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢

17530
来自专栏北京马哥教育

15 分钟掌握 15 个 Docker 小窍门

1. 获取最近运行容器的id 这是我们经常会用到的一个操作,按照官方示例,你可以这样做(环境ubuntu): $ ID=$(docker run ubuntu...

33750
来自专栏哎_小羊

Maven 插件之 docker-maven-plugin 的使用

目录 docker-maven-plugin 介绍 环境、软件准备 Demo 示例 配置 DOCKER_HOST 示例构建镜像 指定构建信息到 POM 中构...

1.5K60
来自专栏北京马哥教育

24条 Docker 建议

在TES GLOBAL,我们已经爱上Docker并从Docker的0.8版本开始就在生产环境中使用它。我们的很多开发者都参加了在DockerCon欧洲上的培训...

40140
来自专栏北京马哥教育

CentOS 7下安装Logstash ELK Stack 日志管理系统(下)

修改防火墙,对外开放tcp/5601 [root@elk elk]# firewall-cmd --permanent --add-port=5601/tcp ...

30440

扫码关注云+社区

领取腾讯云代金券