Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

概要 Docker-composeでSinatra + Nginx + MySQL を動かす時のハマりポイント - Qiitaのプログラムをdocker-composeで動かしていた時に🍣=🍺問題やハハ=パパ問題に遭遇しました。 その際、対処のためにmysqlの文字コードの設定を変えたかったのですが、結構ハマったのでメモです。 🍣=🍺問題?ハハ=パパ問題? 以下が参考になります。 MySQL と寿司ビール問題 - かみぽわーる MySQL で utf8 と utf8mb4 の混在で起きること - @tmtms のメモ 解決策としては文字コードは基本的にutf8mb4を使って、mysqlの設定でcollation-server=utf8mb4_binとすればよさそう。 docker-composeでmysqlの設定を変えるときの注意点 docker-composeにはサービスごとにc
以前から、IntelliJにはDockerを扱うDocker integrationプラグインが存在しましたが、久しぶりに触ったら随分扱いやすくなっていました。 ちょうどHaskellの実行環境を構築する必要があったので、導入してHaskellで"Hello world"するまで、手順をまとめてみます。 ソフトウェア バージョン IntelliJ community edition 2017.3 docker for mac 18.03.1-ce-mac65 Docker integration の導入 Preferences > Plugins > Install JetBrains plugin を開き、docker integrationと入力すると、対象が表示されます。 インストール済みなのでボタンが表示されませんが、右側のウィンドウに"Install"ボタンがあるので導入します。
RBACとは RBAC(Role-based access control)とは、役割ベースのアクセス制御機能。 RBACリソースは4つのリソースがある。RoleリソースとClusterRoleリソースとRoleBindingリソースとClusterRoleBindingリソース。 RoleとClusterRoleは、どのリソースにどんな操作を許可するかを定義するためのリソース RoleBindingとClusterRoleBindingはどのRole/ClusterRoleをどのUserやServiceAcctountに紐付けるかを定義するためのリソース。 ユーザは以下のようにkubectl config set-credentialsを使って作成できる kubectl config set-credentials alice --username=alice --password=pa
社内PROXY の環境下でdocker-compose を実行する場合、コンテナの中にPROXY 情報が渡されず、コンテナ内部からインターネットに出れなくなってしまいます。 (たとえば、go get やnpm install ができない。) 対処方法は主に以下の3つかと思われます。 docker-compose.yml 内に environment として環境変数を渡す。 docker-compose run 時に -e として環境変数を渡す。 env_file として環境変数の書かれたファイルを指定する。 1. docker-compose.yml 内に environment として環境変数を渡す。
想定読者 Dockerについてものすごくざっくり知りたい人 ハイパバイザ型とかホスト型とかそう言う話は調査済みもしくはあとで調べればいいと思っている人 Dockerとは Dockerを使えば、OSとアプリがインストールされた環境を閉じ込めて保存しておき、いつでもその環境を立ちあげることができます。"perlをインストールしたUbuntu"とか"JavaとpythonをインストールしたCentOS"みたいな色々なパターンを簡単に作成して保存・立ち上げが可能です。 用語 なるべく事前知識がなくても理解できるようにDockerの用語を冷凍チャーハンに例えて説明します。 *厳密性に関してはご容赦ください ファイル系 用語 説明 例えると
バーチャルホストのように、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 を見るとマルチテナントでの利用を想定した機能のようで
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く