docker のインストールが完了していれば実行するのは簡単です。Webサーバーの nginx を動かすには以下のように run コマンドを使用します。
$ docker run nginxUnable to find image 'nginx:latest' locallylatest: Pulling from library/nginx802b00ed6f79: Downloading [==============> ]…
コンテナを実行したままにしておきたい場合があります。日常的に使う便利なサービスを立ち上げていつでもアクセスできるようにしておいたり、開発用にWebサーバーを立ち上げておきたい場合などです。
このような場合は docker run コマンドに detach オプションをつけることでバックグラウンドで起動することができます。
$ docker run --detach nginx
このコンテンツは書きかけです。Mediumの使用上、ページを公開する必要があったため公開しています。
これはうちの会社でGKEの利用検討にあたって知識を共有しスムーズに導入することを目的に書かれたものです。前半はKubernetes上でサービスを動作させることに注力して書かれています。後半はKubernetesクラスタの構築について述べます。
Docker を利用するために dockerd と docker コマンドをインストールする必要があります。dockerd がコンテナを管理し、docker コマンドで dockerd にリクエストを送り制御します。
Ubuntu などの Linux であればパッケージマネージャーを使ってインストールできます。macOS と Windows にはそれぞれ Docker for Mac と Docker for Windows があります。以降は macOS + Docker for Mac…
多くの有名なOS(ディストリビューション)にはパッケージマネージャがあり、有志が公開しているプログラムを簡単にインストールすることができます。macOS には homebrew というパッケージマネージャがあります。
インストールしたプログラムが単体のコマンドとして使えるようなものはそれで良いのですが、MeCab のようにコマンドの他に辞書に依存するようなプログラムは環境を構築するのが難しい人もいます。このような場合は公開されている MeCab の Docker コンテナを使うのが良いでしょう。私が作成した MeCab の…
このコンテンツは書きかけです。Mediumの仕様上、ページを公開する必要があるため公開しています。
これはうちの会社でDockerの利用推進を行うにあたって知識を共有しスムーズに導入することを目的に書かれたものです。特に非エンジニアであっても社内ツールとして共有されたDockerイメージを実行できるようにすることを第1目標としています。また、第2の目標は任意の Docker イメージを作成し共有できるようになることです。
動作している Docker コンテナに入って作業をしたり確認をしたいことがあります。このような時は docker exec コマンドを使います。docker exec にはコンテナIDまたはコンテナ名を指定する必要があるので docker ps で動作中のコンテナを調べます。
$ docker ps --format "table {{.Image}} {{.Names}}"IMAGE NAMESnginx webserver
コンテナ間ではIPアドレスが分かっていれば特に制限なく接続することができます。IP アドレスは docker inspect コマンドで調べることができます。
$ docker inspect \--format "{{.NetworkSettings.Networks.bridge.IPAddres}}" webserver172.17.0.2
これはうちの会社でBigQuery Standard SQL を学習するために書かれたものです。
Kubernetes とはコンテナオーケストレーションシステムです。コンテナとは Linux コンテナのことであり、この説明は Red Hat のサイト が分かりやすかったです。
Kubernetes の説明の前に Docker のコンテナについて簡単に確認しておきます。Docker はコンテナの作成とデプロイを自動化し、カスタマイズするための CLI を提供しています。Docker CLI のバックエンドは dockerd…