Mac OS X で開発環境をセットアップするSet up your development environment on Mac OS X

Linux クラスターで実行される Azure Service Fabric アプリケーションを Mac OS X を使用して構築できます。このドキュメントでは、開発用に Mac をセットアップする方法について説明します。You can build Azure Service Fabric applications to run on Linux clusters by using Mac OS X. This document covers how to set up your Mac for development.

前提条件Prerequisites

Azure Service Fabric は、Mac OS X ではネイティブに実行されません。ローカルの Service Fabric クラスターを実行できるように、事前に構成済みの Docker コンテナー イメージが用意されています。Azure Service Fabric doesn't run natively on Mac OS X. To run a local Service Fabric cluster, a pre-configured Docker container image is provided. 作業を開始する前に、以下を行う必要があります。Before you get started, you need:

  • 少なくとも 4 GB の RAM。At least 4 GB of RAM.
  • 最新バージョンの DockerThe latest version of Docker.

ヒント

Mac に Docker をインストールには、Docker のドキュメントの手順に従ってください。To install Docker on your Mac, follow the steps in the Docker documentation. インストールの完了後、インストールを確認します。After installing, verify your installation.

ローカル コンテナーを作成し、Service Fabric をセットアップするCreate a local container and set up Service Fabric

ローカル Docker コンテナーをセットアップし、そこで Service Fabric クラスターを実行するには、次の手順を実行します。To set up a local Docker container and have a Service Fabric cluster running on it, perform the following steps:

  1. 以下の設定を使用してホスト上の Docker デーモン構成を更新し、Docker デーモンを再起動します。Update the Docker daemon configuration on your host with the following settings and restart the Docker daemon:

    {
        "ipv6": true,
        "fixed-cidr-v6": "fd00::/64"
    }
    

    これらの設定は、Docker インストール パスの daemon.json ファイルで直接更新できます。You can update these settings directly in the daemon.json file in your Docker installation path. Docker でデーモン構成設定を直接変更できます。You can directly modify the daemon configuration settings in Docker. Docker アイコンを選択し、 [Preferences](環境設定) > [Daemon](デーモン) > [Advanced](詳細設定) の順に選択します。Select the Docker icon, and then select Preferences > Daemon > Advanced.

    注意

    daemon.json ファイルの場所はマシンによって異なるので、Docker でデーモンを直接変更することをお勧めします。Modifying the daemon directly in Docker is recommended because the location of the daemon.json file can vary from machine to machine. 例: ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.jsonFor example, ~/Library/Containers/com.docker.docker/Data/database/com.docker.driver.amd64-linux/etc/docker/daemon.json.

    ヒント

    大規模なアプリケーションをテストする際は、Docker に割り当てられたリソースを増やすことをお勧めします。We recommend increasing the resources allocated to Docker when testing large applications. Docker アイコンを選択し、 [詳細] を選択して、コア数やメモリを調整してください。This can be done by selecting the Docker Icon, then selecting Advanced to adjust the number of cores and memory.

  2. 新しいディレクトリに、Service Fabric イメージを構築する Dockerfile というファイルを作成します。In a new directory create a file called Dockerfile to build your Service Fabric Image:

    FROM mcr.microsoft.com/service-fabric/onebox:latest
    WORKDIR /home/ClusterDeployer
    RUN ./setup.sh
    #Generate the local
    RUN locale-gen en_US.UTF-8
    #Set environment variables
    ENV LANG=en_US.UTF-8
    ENV LANGUAGE=en_US:en
    ENV LC_ALL=en_US.UTF-8
    EXPOSE 19080 19000 80 443
    #Start SSH before running the cluster
    CMD /etc/init.d/ssh start && ./run.sh
    

    注意

    実際のコンテナーには、このファイルを応用して他のプログラムや依存関係を追加することができます。You can adapt this file to add additional programs or dependencies into your container. たとえば、「RUN apt-get install nodejs -y」を追加すれば、ゲスト実行可能ファイルとして nodejs アプリケーションに対応することができます。For example, adding RUN apt-get install nodejs -y will allow support for nodejs applications as guest executables.

    ヒント

    既定では、最新バージョンの Service Fabric を含んだイメージがプルされます。By default, this will pull the image with the latest version of Service Fabric. 特定のリビジョンについては、Docker Hub のページをご覧ください。For particular revisions, please visit the Docker Hub page

  3. 再利用可能なイメージを Dockerfile から構築するには、ターミナルを開き、cdDockerfile の格納場所に移動して次のコマンドを実行します。To build your reusable image from the Dockerfile open a terminal and cd to the directly holding your Dockerfile then run:

    docker build -t mysfcluster .
    

    注意

    この操作にはしばらく時間がかかりますが、実行するのは 1 回でかまいません。This operation will take some time but is only needed once.

  4. これで、Service Fabric のローカル コピーを、必要なときにいつでも、次のコマンドを実行することですぐに起動することができます。Now you can quickly start a local copy of Service Fabric, whenever you need it, by running:

    docker run --name sftestcluster -d -v /var/run/docker.sock:/var/run/docker.sock -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 mysfcluster
    

    ヒント

    操作の際にわかりやすくするために、コンテナー インスタンスの名前を指定します。Provide a name for your container instance so it can be handled in a more readable manner.

    アプリケーションが特定のポートでリッスンしている場合は、追加の -p タグを使用してポートを指定する必要があります。If your application is listening on certain ports, the ports must be specified by using additional -p tags. たとえば、アプリケーションがポート 8080 でリッスンしている場合は、次の -p タグを追加します。For example, if your application is listening on port 8080, add the following -p tag:

    docker run -itd -p 19080:19080 -p 8080:8080 --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest

  5. クラスターが起動するには少し時間がかかります。The cluster will take a moment to start. 実行状態になると、次のコマンドを使用してログを表示したり、ダッシュボードに移動してクラスターの正常性を確認したりすることができます (http://localhost:19080)。When it is running, you can view logs using the following command or jump to the dashboard to view the clusters health http://localhost:19080:

    docker logs sftestcluster
    
  6. コンテナーを停止してクリーンアップするには、次のコマンドを使用します。To stop and cleanup the container, use the following command. ただし、次のステップでこのコンテナーを使用します。However, we will be using this container in the next step.

    docker rm -f sftestcluster
    

既知の制限事項Known Limitations

Mac 用のコンテナーで実行されているローカル クラスターの既知の制限は、次のとおりです。The following are known limitations of the local cluster running in a container for Mac's:

  • DNS サービスが実行されず、サポートされていない 問題 #132DNS service does not run and is not supported Issue #132

Mac に Service Fabric CLI (sfctl) をセットアップするSet up the Service Fabric CLI (sfctl) on your Mac

Service Fabric CLI に関するページの手順に従って、Mac に Service Fabric CLI (sfctl) をインストールしてください。Follow the instructions at Service Fabric CLI to install the Service Fabric CLI (sfctl) on your Mac. この CLI コマンドは、クラスター、アプリケーション、サービスなどの Service Fabric エンティティの操作をサポートします。The CLI commands support interacting with Service Fabric entities, including clusters, applications, and services.

  1. アプリケーションをデプロイする前にクラスターに接続するには、次のコマンドを実行します。To connect to the cluster before deploying applications run the command below.
sfctl cluster select --endpoint http://localhost:19080

Mac 上で Yeoman を使ってアプリケーションを作成するCreate your application on your Mac by using Yeoman

Service Fabric には、ターミナルから Yeoman テンプレート ジェネレーターを使って Service Fabric アプリケーションを作成するのに役立つスキャフォールディング ツールが用意されています。Service Fabric provides scaffolding tools that help you to create a Service Fabric application from the terminal by using the Yeoman template generator. 以下の手順に従って、ご利用のマシンで Service Fabric Yeoman テンプレート ジェネレーターが実行されていることを確認してください。Use the following steps to ensure that the Service Fabric Yeoman template generator is working on your machine:

  1. Mac に Node.js とノード パッケージ マネージャー (NPM) がインストールされている必要があります。Node.js and Node Package Manager (NPM) must be installed on your Mac. このソフトウェアは、次のように HomeBrew を使用してインストールできます。The software can be installed by using HomeBrew, as follows:

    brew install node
    node -v
    npm -v
    
  2. NPM からマシンに Yeoman テンプレート ジェネレーターをインストールします。Install the Yeoman template generator on your machine from NPM:

    npm install -g yo
    
  3. 概要ドキュメントの手順に従って、使用する Yeoman ジェネレーターをインストールします。Install the Yeoman generator that you prefer by following the steps in the getting started documentation. Yeoman を使って Service Fabric アプリケーションを作成するには、次の手順に従います。To create Service Fabric applications by using Yeoman, follow these steps:

    npm install -g generator-azuresfjava       # for Service Fabric Java Applications
    npm install -g generator-azuresfguest      # for Service Fabric Guest executables
    npm install -g generator-azuresfcontainer  # for Service Fabric Container Applications
    
  4. ジェネレーターのインストール後、yo azuresfguest または yo azuresfcontainer を実行して、ゲスト実行可能ファイルまたはコンテナー サービスを作成します。After you install the generators, create guest executable or container services by running yo azuresfguest or yo azuresfcontainer, respectively.

  5. Service Fabric Java アプリケーションを Mac で構築するには、JDK バージョン 1.8 と Gradle がホスト マシンにインストールされている必要があります。To build a Service Fabric Java application on your Mac, JDK version 1.8 and Gradle must be installed on the host machine. このソフトウェアは、次のように HomeBrew を使用してインストールできます。The software can be installed by using HomeBrew, as follows:

    brew update
    brew cask install java
    brew install gradle
    

    重要

    現在のバージョンの brew cask install java では、より新しいバージョンの JDK がインストールされる場合があります。Current versions of brew cask install java may install a more recent version of the JDK. 必ず JDK 8 をインストールしてください。Be sure to install JDK 8.

ターミナルから Mac にアプリケーションをデプロイするDeploy your application on your Mac from the terminal

Service Fabric アプリケーションを作成して構築したら、Service Fabric CLI を使用してアプリケーションをデプロイできます。After you create and build your Service Fabric application, you can deploy your application by using the Service Fabric CLI:

  1. Mac のコンテナー インスタンス内で実行されている Service Fabric クラスターに接続します。Connect to the Service Fabric cluster that is running inside the container instance on your Mac:

    sfctl cluster select --endpoint http://localhost:19080
    
  2. プロジェクト ディレクトリ内で、インストール スクリプトを実行します。From inside your project directory, run the install script:

    cd MyProject
    bash install.sh
    

.NET Core 2.0 開発環境をセットアップするSet up .NET Core 2.0 development

.NET Core 2.0 SDK for Mac をインストールして、C# Service Fabric アプリケーションの作成を開始します。Install the .NET Core 2.0 SDK for Mac to start creating C# Service Fabric applications. .NET Core 2.0 Service Fabric アプリケーション用のパッケージは、現在プレビューの段階で NuGet.org でホストされています。Packages for .NET Core 2.0 Service Fabric applications are hosted on NuGet.org, which is currently in preview.

Eclipse 用の Service Fabric プラグインを Mac にインストールするInstall the Service Fabric plug-in for Eclipse on your Mac

Azure Service Fabric には、Java IDE 用として Eclipse Neon (以降) 用のプラグインが用意されています。Azure Service Fabric provides a plug-in for Eclipse Neon (or later) for the Java IDE. このプラグインを使用すると、Java サービスの作成、ビルド、およびデプロイの手順を簡素化できます。The plug-in simplifies the process of creating, building, and deploying Java services. Eclipse 用の Service Fabric プラグインをインストールしたり、最新バージョンに更新したりするには、これらの手順に従います。To install or update the Service Fabric plug-in for Eclipse to the latest version, follow these steps. Eclipse 用の Service Fabric のドキュメントに記載されている、アプリケーションの構築、アプリケーションへのサービスの追加、アプリケーションのアンインストールなどの他のすべての手順も適用できます。The other steps in the Service Fabric for Eclipse documentation are also applicable: build an application, add a service to an application, uninstall an application, and so on.

最後の手順では、ホストと共有されているパスでコンテナーをインスタンス化します。The last step is to instantiate the container with a path that is shared with your host. このプラグインでは、Mac 上の Docker コンテナーを操作するために、この種のインスタンス化が必要です。The plug-in requires this type of instantiation to work with the Docker container on your Mac. 次に例を示します。For example:

docker run -itd -p 19080:19080 -v /Users/sayantan/work/workspaces/mySFWorkspace:/tmp/mySFWorkspace --name sfonebox mcr.microsoft.com/service-fabric/onebox:latest

属性は次のように定義されます。The attributes are defined as follows:

  • /Users/sayantan/work/workspaces/mySFWorkspace は、Mac 上のワークスペースの完全修飾パスです。/Users/sayantan/work/workspaces/mySFWorkspace is the fully qualified path of the workspace on your Mac.
  • /tmp/mySFWorkspace は、ワークスペースをマップするコンテナーの内部のパスです。/tmp/mySFWorkspace is the path that is inside of the container to where the workspace should be mapped.

注意

ワークスペースの名前/パスが異なる場合は、docker run コマンドでこれらの値を更新してください。If you have a different name/path for your workspace, update these values in the docker run command.

sfonebox 以外の名前でコンテナーを開始する場合は、Service Fabric アクター Java アプリケーションの testclient.sh ファイルの名前値を更新してください。If you start the container with a name other than sfonebox, update the name value in the testclient.sh file in your Service Fabric actor Java application.

次のステップNext steps