$ sudo rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo yum update $ sudo yum -y install docker-io

バーチャルホストのように、1つのサーバーに複数のWebアプリを置いておきたい場合があります。 その際に、nginxと各アプリにはそれぞれの docker-compose.yml を作って別々に管理したいと思います。 nginx (リバースプロキシ) Webアプリ1 (PHP http) Webアプリ2 (Python uWSGI) ... この場合に、 nginx から Webアプリ1 と Webアプリ2 にリンクするように作りたいのですが、 docker-compose で作ったコンテナはネットワークが分かれている?ので、 ネットワークを指定してあげないといけないみたいです。 方法 方法1: nginxから、各ネットワークに入るように設定する メリット 各アプリのdocker-compose.ymlでネットワークの定義を書かなくて良い デメリット アプリが増えるとnginxのdocker
個人利用レベルで試したかったので、ECSは使わずEC2インスタンス内にAmazon Linux 上に Docker と Docker Compose をインストールしたメモ。 この記事では原則 AWS や Docker が公式に公開している手順に基づいて行っています。 EC2 への Docker インストール Docker の基本 - Amazon EC2 Container Service に基づいて、 yum にて行う。 # yum の更新 $ sudo yum update -y # yum から docker をインストール $ sudo yum install -y docker # docker サービスの起動 $ sudo service docker start Starting cgconfig service: [ OK ] Starting docker: [ OK
この記事の内容 世の中に遅れること250週(もう5年前からあるのね…)、 ようやっとDockerがどういうものなの分かってきました。 ということで、「Dockerって何?」という、数日前の私に向けた説明を書いてみます。 もちろん入門記事や詳しい解説などは世の中に既にたくさんあるので、 この記事では最速で「ここまで理解すれば後は自力で調べられるようになる」的な記事を目指します。 Dockerに関する多くの記事では、Dockerが従来の仮想環境とどう違うのかについて説明されますが、 この記事では逆に、主に Dockerが従来の仮想環境と基本的に同じである ことを説明しています。 Dockerとは何なのかと思ってこの記事を見るような人であれば、あとは自分で調べられると思います。 前提知識・想定読者 この記事ではDockerは、仮想環境を構築するもの、という位置づけです。 VirtualBoxやV
マイクロサービスやDockerの話になるといつも出てくるのが、Kubernetes(クーバネティス)。 奥深そうな技術ではあるが、Kubernetesとは?をあさーく簡単にまとめてみた 概要 Dockerコンテナをクラスタ化した際の運用ツールの1つ Googleが中心になって開発してる(Go + シェルスクリプト) 自動デプロイ、スケーリング、アプリ・コンテナの運用自動化ができる マイクロサービスと相性が良い 管理上の基本単位はPodという Volume:記憶領域を共有するコンテナの集まり Container IP ADress 試すなら、GKE(Google Kubernetes Engine)を使うのが良さそう ↓こんな画面らしい ↓8分くらいの動画。わかりやすいらしい(見てない) よい子のためのKubernetes絵本」動画 なぜ必要とされたのか? Dockerは、ホスト内のコンテナ
はじめに gVisorとは、KubeCon2018でローンチが発表されたOpen Container Initiative (OCI)に準拠したコンテナのランタイム runsc を含むプロジェクトのこと。 OCIについては、この記事 にわかりやすくまとめてある。 https://blog.docker.com/2016/04/docker-engine-1-11-runc/ から引用 上記の記事にある図の runc というものが、今デフォルトで利用されているランタイムで、 runc の部分をよりセキュアに(ホストカーネルと隔離して)実行させようとしているのが runsc。 どうやってホストカーネルと隔離するかは、gVisorのREADMEにまとまっている。要するにDockerアプリケーションからのシステムコールをgVisorが一度受け取り、それをホストカーネルに渡す仕組みになっている。 h
docker: 17.09.0-ce docker-compose: 1.15.0 用意するファイル docker-compose.yml phpとmysqlとphpmyadminがたちあがる version: "2" services: app: build: context: . dockerfile: Dockerfile-php args: PROJECT_NAME: $PROJECT_NAME volumes: - ./$PROJECT_NAME:/var/www/html ports: - "4000:80" - "4001:8000" tty: true environment: - PROJECT_NAME=demo db: image: mysql:5.7 volumes: - ./db:/var/lib/mysql - ./mysql_conf:/etc/mysql/c
2019年8月更新 2年の間にWindowsでのDocker開発環境が進化したのと 知人より凄い便利な機能を教えてもらったので共有します おさらい 今までの大雑把なおさらいとして Windowsでのサーバ開発はDockerを使えば問題なく出来る (実際私は2016年からWindowsでサーバ開発を行っている) VirtualBoxなどを使い、boot2dockerを使いVM上のLinuxで開発も出来るが Windows10 Pro64bitで Hyper-VをONにして Docker for Windowsで開発するとカッコイイ ただし、WindowsにはBashがないのでシェルスクリプトが実行できない WSLを使いDockerをインストールし、Docker for WindowsのExportを使えば良い ただし、WSLのマウントポイントが /mnt/c/ になっているため、環境変数やs
こちらにより見やすい記事も用意しました。 よろしければどうぞー 1.概要 本記事で出来るようになること 1コマンドで Nginx(SSL化用リバースプロキシ) MariaDB CentOS7 Apache php のコンテナが下記の簡略図で立ち上がり、gitかなにかでwebアプリコンテンツをDocumentRootに置けば、すぐに使えるようになります。 簡略図 本稿のレベルとしては 「dockerとdocker-composeが何なのかはなんとなく知ってるけど、あんまり使ったことない人」向けです。 それぞれの基本知識としては下記を斜め読みすれば十分だと思います。 dockerについて 【入門】Dockerとは?使い方と基本コマンドを分かりやすく解説します docker-composeについて 複数のDockerコンテナを自動で立ち上げる構成管理ツール「Docker Compose」 俺はさ
この記事は Pod Security Policy (PodSecurityPolicy)によるセキュリティの設定について Kubernetes v1.9 で確認した内容になります。v1.9 未満では RBAC 周りで大きな違いがあるのでご注意ください。 PodSecurityPolicy とは PodSecurityPolicy とはクラスタ全体のセキュリティ上のポリシーを定義する機能です。ホストに影響を与える可能性がある 特権 (privileged) や HostIPC などの機能を制限し Pod に脆弱性があった場合にクラスタを守ることができます。ポリシーの制限は Admission Control として実装されており、ポリシーを満たしていない Pod の実行を拒否することができるようになります。Design Proposal を見るとマルチテナントでの利用を想定した機能のようで
「DeNA IPプラットフォーム事業部 Advent Calendar 2017」15日目の記事です はじめに GoogleKubernetesEngineなどKubernetes環境を採用している場合、ローカルの開発環境においてもKubernetes+minikubeを採用することがあるかと思います 今回はそのminikube上でのNode.js開発環境の構築手順とポイントをかんたんに解説します ※Mac前提で進めます、その他のOSをご利用の方ごめんなさい!🙇 必要なもの minikube kubectl docker nodejs(Mac上) 基本的なインストール手順はこちらを参考にしてください https://kubernetes.io/docs/tutorials/stateless-application/hello-minikube/ Node.js(npm)を利用するのでイ
この記事ではskaffoldの紹介と、ローカル環境で試してみるまでの手順を書いていく。 はじめに コンテナを利用して開発で困るのが、少しの変更であってもビルドしてデプロイをしなければならないというストレス。変更を行って、そのimageをbuildして、deploymentを更新するのが面倒。 そのため、以前記事に書いたとおり、localの開発ではdocker-composeを利用している。docker-composeではVolumeMountができるので、localでのファイル変更がそのままコンテナに反映できる。 しかし、本番環境をGKEに決めたので、それに合わせて開発環境もK8sにしなきゃな、というところへ、数日前にGoogle公式でちょうどいいツールが出た。 skaffoldだ。 skaffoldについて できること 開発では、localでのファイル変更をトリガにbuild/push/
Docker for Mac の Volumeマウントの遅さについて Docker for Mac は正式版になる以前からローカルファイルシステムをマウントした際の、read/writeの遅さが指摘されていた。特に write 側は絶望的なベンチマークがいつも示されていた。 私も、2017年10月に以下の記事でその当時のベンチマークをしている。 MacおよびWinにおけるDocker環境のベンチマーク結果まとめ(2017-10-23現在) このまま改善されないまま進むんではないかと悲観的に見ていたのだが、 18.03.0-ce の rc1 のリリースノートに以下のように Support NFS Volume sharing という記述があったのに気がついた。 ### 2018-02-27 18.03.0-ce-rc1-mac54 "18.03.0-ce-rc1-mac54" * Upgra
kubernetesを内蔵したDocker for Macがリリースされたらしいので、試してみた kubectlコマンドでkubernetes-dashboardのデプロイ、docker stackコマンドでmetabaseをデプロイしてみた 2018/01/21追記 docker stackコマンドの例としてopenfassをデプロイしていましたが、動作しない(関数作成できない)のを確認したので、metabaseの例に差し替えました。 環境 macOS 10.13.2 docker 17.12.0-ce(edge) 準備 Docker for Macでkubernetesを起動させる dockerのedgeバージョンインストール https://store.docker.com/editions/community/docker-ce-desktop-mac のページから、edgeバージ
この投稿は、Kubernetes(以下 k8s)のジョブについて、理解を深めるために、https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ を読み解いたもので、個人的な補足や、検証を含むものです。 k8sのジョブとは ジョブは1つまたは複数のポッドを作成し、指定された数のポッドが正常に終了することを保証します。 ポッドが正常に完了すると、ジョブは成功完了を管理します。 指定された数の正常な完了に達すると、ジョブ自体は完了です。 ジョブを削除すると、作成したポッドがクリーンアップされます。 簡単なケースでは、確実に1つのポッドを完了して実行するために、1つのジョブ・オブジェクトを作成します。 ジョブ・オブジェクトは、最初のポッドに障害が発生した場合やノードのハードウェア障害やノードの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く