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

相关文章

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

加入计划

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

kubectl

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

$ brew remove kubernetes-cli

启用

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

在 Docker 设置中启用 k8s(具体图解请查看上方给出的官方文档)。

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

REPOSITORY                                               TAG                                        IMAGE ID            CREATED             SIZE

gcr.io/google_containers/kube-apiserver-amd64            v1.8.2                                     6278a1092d08        7 weeks ago         194MB
gcr.io/google_containers/kube-controller-manager-amd64   v1.8.2                                     5eabb0eae58b        7 weeks ago         129MB
gcr.io/google_containers/kube-scheduler-amd64            v1.8.2                                     b48970f8473e        7 weeks ago         54.9MB
gcr.io/google_containers/kube-proxy-amd64                v1.8.2                                     88e2c85d3d02        7 weeks ago         93.1MB
gcr.io/google_containers/k8s-dns-sidecar-amd64           1.14.5                                     fed89e8b4248        2 months ago        41.8MB
gcr.io/google_containers/k8s-dns-kube-dns-amd64          1.14.5                                     512cd7425a73        2 months ago        49.4MB
gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64     1.14.5                                     459944ce8cc4        2 months ago        41.4MB
gcr.io/google_containers/etcd-amd64                      3.0.17                                     243830dae7dd        9 months ago        169MB
gcr.io/google_containers/pause-amd64                     3.0                                        99e59f495ffa        19 months ago       747kB

之前你可能使用了 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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员笔记

Docker 学习手册

1304
来自专栏耕耘实录

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

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

893
来自专栏晓晨的专栏

ASP.NET Core 2.1 使用Docker运行

这里我们需要用到官方的镜像:microsoft/dotnet:2.1-aspnetcore-runtime

2052

在Docker中开发Java 8 Spring Boot应用程序

在本文中,我将向您展示如何使用Java 8开发和运行简单的Spring Web应用程序,而无需在本地计算机上安装Java 8。

1967
来自专栏A周立SpringCloud

Docker系列教程07-Dockerfile指令详解

Dockerfile有十多个指令。本节我们来系统讲解这些指令,指令的一般格式为 指令名称参数。 ADD 复制文件 ADD指令用于复制文件,格式为: ADD<sr...

3647
来自专栏北京马哥教育

24条 Docker 建议

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

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

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

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

3986
来自专栏康怀帅的专栏

Docker Swarm mode 详解

使用 docker swarm Dcoker 内置的集群管理的工具,Docker CE 1.12+。注意与旧的 Docker Swarm 区分开来。 OS: C...

4783
来自专栏LuckQI

容器Docker学习系列三~每天几个小命令

今天继续学习我们的Docker命令,在简单的了解命令后我们会开始实战操作执行Docker容器,应用起来我们的命令。今天继续学习六大部门Docker命令中的本地镜...

1592
来自专栏圣杰的专栏

.NET Core容器化@Docker

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

2367

扫码关注云+社区