はじめに docker --init は PID 1 として動作させることを想定してないプロセスを適切に処理するために、軽量の init を PID 1 で実行する Docker 1.13 で追加されたオプションです。内部的には Tini が使用されています。Tini の大きな役目は次の2つです。 デフォルトのシグナルハンドラを機能させる ゾンビプロセスを刈り取る(reaping) この記事では Tini を使用しない場合にどのような問題が発生し、Tini を使用することでそれらが解決する様子を確認します。 準備 まず動作確認を行うためのファイルを準備します。作業用のディレクトリを作り以下のファイルを作成します。 FROM debian RUN apt-get update && apt-get install -y procps tini # ENTRYPOINT ["/usr/bin/
Dockerでコンテナを起動するとき、rootユーザでプロセスを起動してしまうと危険です。 参考: Dockerコンテナを本番環境で使うためのセキュリティ設定 - Qiita 公開されているDockerイメージの多くは何もしなければrootで実行するようになっているので、実行ユーザを変更する設定が必要になります。 最も簡単で効果が高いのは、Dockerfile内でユーザを作成して実行ユーザに指定する方法です。 コンテナ起動時に docker run -u <uid> でUIDを指定する方法や、KubernetesのSecurityContextを使う方法などもあります。 例えば、次のような感じになります。 FROM debian RUN useradd docker USER docker CMD ["bash"] これで bash が docker ユーザで実行されます。 これだけでもま
https://shuuu-mai.connpass.com/event/173794/
CloudNative Days Kansai 2019前夜祭のLTで発表した資料です。 発表の大筋は@makingの『Pack to the Future - SpringOne Platform 2019報告会』 https://docs.google.com/presentation/d/1rzaxReQ92WaWI24v-GsTwjtLCMq2YaFSTl9t6SEjPxQ/mobilepresent?slide=id.g6ad6e2f668_0_5 およびその元ネタの『Pack to the Future: Cloud-Native Buildpacks on k8s』 https://www.slideshare.net/SpringCentral/pack-to-the-future-cloudnative-buildpacks-on-k8s をベースにしています。 Clou
自宅用ラップトップをMacBook Pro 2018 High Sierraに更新したのだが、Chromium系ブラウザからlocalhostにアクセスしようとすると極端に遅くなってしまう。localhostのリソースにアクセスするだけで2〜3分ほどだ。 その対処法についていくつかまとめる。 環境と詳細な症状 環境は以下の通り。 MacBook Pro 2018 macOS High Sierra ブラウザ Chrome 68 Chromium 70 ローカルサーバー Docker CE Version 18.06.0-ce-mac70 (26399) Docker Compose version 1.22.0 nginx(Dockerコンテナ内) 下図のように、Dockerでnginxのリバースプロキシを立て、パスに応じてVolume機能で追加したローカルのファイルにアクセスするような構
Learn to build and deploy your distributed applications easily to the cloud with Docker Written and developed by Prakhar Srivastav Star Introduction What is Docker? Wikipedia defines Docker as an open-source project that automates the deployment of software applications inside containers by providing an additional layer of abstraction and automation of OS-level virtualization on Linux. Wow! Th
AWS Startup ブログ スタートアップのためのコンテナ入門 – 導入編 こんにちは、スタートアップ ソリューションアーキテクトの松田 (@mats16k) です。 今回はコンテナのお話です。今日、多くのスタートアップのお客様が本番環境でコンテナを採用し、ビジネスに活かしております。その一方で、「そろそろコンテナやった方がいいか?」「なんとなく使い始めたけれどこれでいいのか?」「コンテナ自体は分かったけど、サービスでの利用に踏み切れていない」といったご相談も数多く頂いております。 本記事ではコンテナ技術のサービス利用を検討されている方向けに、AWS 上でどうコンテナ化を進めていけばいいのかをお話致します。 目次 コンテナとは コンテナオーケストレーション コンテナ利用時・検討時によくある誤解 コンテナへの移行ステップ コンテナとは まずはじめに改めてコンテナ技術についての復習です。
はじめに はじめまして! ecbeing新卒1年目のいかちゃんです。 今はecbeingのR&D部門で新規プロダクトチームの一員として、機能拡張や環境構築等を行っております。 R&D部門では日々新しい技術の情報交換や調査が行われており、非常に楽しく刺激的な毎日を送れております。 また、1年目の新人にもかかわらずバリッバリに開発を任されており、お仕事に対して強いやりがいも感じております! さて、今私が担当しております新規プロダクトでは、Dockerを用いて実行環境を構築しております。 (正確にはAWS ECSを通じてDockerを用いております) Dockerについては学生時代に「ちょーっと聞いた事あるかなぁ…」程度の知識だったのですが、業務で使っておりますし何より めちゃくちゃ面白そう な技術なので…! ここで1つDockerについてがっつり調べちゃおうという事で記事を作ってみました! な
この文章では、私が個人開発で使用しているDockerサーバの管理や、業務でプロジェクトメンバーに開発環境を配布する際に、Dockerfileを書く上で気をつけていることを整理します。 1. Dockerファイルのフォルダには不要なファイルを置かない docker buildは開始時にコンテクスト(現在のフォルダの状態)をDockerデーモンに転送します。具体的には、Dockerfileのあるディレクトリの内容をtarで圧縮し送ります。そのため、Dockerfileのディレクトリに不要なファイルがあるとビルドに余計な時間がかかりよくありません。 とはいえ、プロジェクトフォルダでビルドした成果物をイメージ化するためにDockerfileを含める運用はよくあると思いますので、その場合は.dockerignoreファイルを記述して余計なファイルが転送対象にならないようにします。 .dockerig
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
目的 dockerでMySQLを起動する データはdata volumeに格納する my.cnfを指定する コンテナ生成時にデータベース、ユーザーなどを作成する データ(volume)をバックアップできるようにする データ(volume)をリストアできるようにする 環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G29 $ docker -v Docker version 17.06.1-ce, build 874a737 $ docker-compose -v docker-compose version 1.14.0, build c7bdf9e 結果 ディレクトリ構成 $ tree -a . ├── .env ├── backup.yml ├── backup_files ├── d
複数のdocker imageとcontainerを使ってサクッと環境を整えたいときにdocker composeってとても便利ですよね。 単純な構成だと公式ドキュメントを読めばわりと簡単に思い通りになるのですが、 意外と慣れるまではどんな設定をしてどうファイルを配置するか迷いがちだと思います。 そんなわけで今更感が強いですがベストプラクティス的なものをまとめておきます。 最近になってようやくDockerfileとdocker-compose.ymlの良い書き方使い方がわかってきた気がする。初期のころに書いたやつも試行錯誤して書いたはずなんだけど今やクソみたいに感じる— innossh (@innossh) 2016年9月19日 今月のブログ書くネタに困って今更になってdocker composeを選んだわけでは…うっ… ベストプラクティスと言いつつ半年以上前の情報の可能性が…うっ… さっ
昨日の書いたエントリがホッテントリ入りしてて、喜ばしい限りです。 kuchitama.hateblo.jp 悲しい思いをしましたが、いく分か取り戻せた気がします。 今日は、昨日の反省を活かして、トラブルがあっても大丈夫なようにRedashのPostgresデータのバックアップとリストアの手順をまとめます。 ちゃんとリストアの手順までまとめておかないとね!! でないと、実況Youtubeをするはめになる… (実際昨日は @kiy0taka さんと、 @irof さんに実況しないのって煽られてました) 例によってDocker上で運用している前提です。 AWSとかGCP上で運用しているなら、こちらのドキュメントに従えば多分大丈夫だと思います。 Backup Your Redash Database and Restore It on a Different Server · Redash Hel
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く