Explaining “Best practices for writing Dockerfiles” Dockerfileを書くためのベストプラクティス【参考訳】v18.09 - Qiita https://qiita.com/zembutsu/items/a96b68277d699f79418d こちらをベースにした解説スライドです。Read less
構成 GitHubに公開しています。併せてご覧ください。 Docker周りだけを管理したいディレクトリと永続化だけを管理したいディレクトリに分けました。 以降、粛々とファイルとその説明が続きます。「とにかくGitHubのコードを動かしたい」方はこちらまで飛んでください $ tree ├── README.md ├── docker # DockerやDocker Compose │ ├── containers # 各コンテナ(イメージ) │ │ ├── mysql # MySQL 5.7 │ │ │ ├── Dockerfile # MySQL 5.7のDockerファイル │ │ │ ├── grant_user.sql # 初期セットアップでユーザを作成するスプリプト │ │ │ └── my.cnf # 初期セットアップで反映するmy
Docker-docs-jaのコンテナでデータを管理を読みつつ、コンテナのデータボリュームについてまとめます。 まず、データボリュームをカテゴライズすると下記のようになります。 データボリュームをマウント 名前無しデータボリューム(あまり使わない) 名前付きデータボリューム ホストディレクトリをマウント ホストLinuxのディレクトリをマウント ホストOSのディレクトリをマウント データボリュームコンテナからマウント これに従って説明していきます。 データボリュームをマウント データボリュームは、Dockerコンテナエンジンが管理するデータのボリュームです。 管理下にあるボリュームは下記で確認できます。 [~] $ docker volume ls DRIVER VOLUME NAME 名前無しデータボリューム あまり使わないですが、名前無しのボリュームを作ってマウントします。 コンテナを
MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Dockerコンテナに入ってシェルを叩きたいという時は多いです。そんな時にはIDを調べて、docker execで中に入ったりします。しかし都度IDを調べたり、コマンドを叩くのは面倒ではないでしょうか。 そこで使ってみたいのがContainer web TTYです。コンテナの内部に入るのがとても簡単になるソフトウェアです。 Container web TTYの使い方 立ち上げると、Webブラウザ上でコンテナ一覧が確認できるようになります。 そしてコンテナを指定するとシェルに入れます。Webブラウザ上で動くのが便利です。 普通にコマンドが打てます。 Container web TTYはコンテナ用にWebベースのターミナルを提供します。コンテナのIDを調べたりする手間はありません。Co
こんにちは、オジュウチョウサンです。既にTwitterでは告知してますが、8/25(土)に技術評論社から「Docker/Kubernetes 実践コンテナ開発入門」を出版します。 8/25発売「Docker/Kubernetes 実践コンテナ開発入門」の詳細でました!コンテナ未経験でも最速で本番活用できるようになる内容です💪#kubernetes はもちろん、ポータビリティある軽量イメージの作り方やスペシャルTIPSまで、コンテナライフを豊かにする一冊です🎉https://t.co/Br0l3wdsgW #docker pic.twitter.com/aYd00j2HH9 — 🛵 (@stormcat24) August 2, 2018 執筆の経緯とか、どのように進めていったかについては別のエントリを用意するつもりなので、本エントリでは本書の見どころを紹介しておきたい💪 本書の目的
ラズパイで、Kubernetesが動くという記事を見つけて、自分でも試して見ました。 HyperiotOSというDockerコンテナエンジンが、プレインストールされたラズパイのOSを使って、簡単にできるかと思ったのですが、結構、苦労したので、記録として残しておきたいと思います。 しかし、苦労に見合う大きな発見があり、最後の部分に書いておきました。 構成 ラズパイ: Raspberry Pi 3 Model B V1.2 x4 ラズパイのOS: HyperiotOS Version 1.7.1 https://blog.hypriot.com/, Docker-CE 17.10 K8s: バージョン 1.8.14 ポッドネットワーク: Flannel 0.9.1 Hyperiot OSのSDカードの作成 HyperiotOSのダウンロードページ で、hypriotos-rpi-v1.7.1.
以降の節で順にこれらのコマンドの使い方を説明します。見出しの括弧は旧コマンドです。 また、各節の終わりにリファレンスへのリンクを置いていますが、 少なくとも本稿の執筆時点においては旧コマンドの方が詳細に書かれているので、必要に応じてそちらも参照してください。 なお日本語版のドキュメントにはまだ新コマンド版のリファレンスはありません。 シェルの補完についてdockerのサブコマンドは、 861162a44 のようなハッシュ値や、 romantic_neumann のようにランダムな英単語の組み合わせで自動生成されたコンテナ名をパラメータとして受け取ります。 Docker for Macにはbashやzshでコマンドの補完を行うためのスクリプトが同梱されていますが、 ただインストールするだけでは有効になりません。 補完のための設定については別に記事を書いたのでこちらを参照してください。 bas
Jenkins is, by far, the most used CI/CD tool in the market. That comes as no surprise since it’s been around for a while, it has one of the biggest open source communities, it has enterprise version for those who need it, and it is straightforward to extend it to suit (almost) anyone’s needs. Products that dominate the market for years tend to be stable and very feature rich. Jenkins is no excepti
前回の ブログ記事 では、Kubernetesの話と、 ThoughtSpot がKubernetesを開発インフラのニーズに合わせてどのように取り入れたかをご紹介しました。今回はその続報として、最近の興味深いデバッグ経験について少々駆け足になりますがお話ししていきます。本記事も「コンテナ化と仮想化はノットイコールである」という事実に基づいており、たとえcgroupの上限がどれも高くない値に設定されホストマシンで十分な演算能力が利用できるとしても、コンテナ化されたプロセス同士がリソースの競合を起こす場合があることを示したいと思います。 ThoughtSpotでは内部のKubernetesクラスタで 多数のCI/CDや開発関連のワークフロー を稼働させており、ある1点を除いては全てが順調でした。唯一問題だったのは、ドッカー化された製品コピーを起動すると、パフォーマンスが期待を極端に下回るレベ
Kubernetesは、コンテナアプリケーションをデプロイするためのオーケストレーションツールです。Kuberenetesは分散環境におけるスケーラブルなコンテナ実行環境をつくるための、さまざまな機能が提供されています。 もともとはGoogleが開発したBorgをもとにOSS化したものですが、今日ではマイクロソフトやRedHatも積極的に開発に加わり、非常に早いスピートで機能拡張していて、追いかけるのも大変です。 Kubernetesの大きな特徴は宣言的設定にあります。 この宣言的設定とは、イミュータブルなインフラを作るための基本的な考え方で、「システムのあるべき姿」を設定ファイルにて宣言する!という考え方です。Kubernetesは設定ファイルに書いたとおりのインフラを維持するように設計されています。 Kubernetesはコンテナを「Pod」という単位で管理します。このPodをKube
概要 2017年1月18日にリリースされた Docker v1.13 以降(今日現在の v17.03.0-ce )は、 docker コマンドラインの命令体系が再編成されました。本記事では変更に至った背景と、新旧コマンド体系の比較情報を整理します。 新しいサブコマンド体系の導入と背景 新しいコマンド体系の導入に至ったのは、docker のトップレベル・コマンド群が 40 を越える状況(当時)となったためです。コマンドには頻繁に使うものもあれば、使わないものもあり、再編成されることになりました。 v1.13から論理オブジェクト単位にコマンドが再編成されました。これは、「何」(コンテナやイメージ、ネットワーク)を、「どうするか」(作成、一覧、起動、停止)で扱います。そのため、従来よりもコマンドの利用目的が分かりやすくなります。たとえば、コンテナを管理する docker container サブ
コンテナ型仮想化の技術や実装はDockerが登場する以前から存在していたとはいえ、IT業界で本格的にコンテナの活用が始まったと言えるのは、やはり2013年3月に当時のdotCloudからDockerが登場したことがきっかけでしょう。 そうして始まったコンテナ時代の第一章は今年2017年、コンテナの標準仕様がOpen Container Initiativeによって策定完了し、コンテナオーケストレーションの事実上の標準がKubernetesに決まったことで基盤技術の基本要素がおおむね固まり、一つの区切りがついたように見えます。 そして今後は、この基盤技術を用いたコンテナによる分散アプリケーションのための様々なサービスや開発、テスト、デプロイ、本番環境に対応したツールやサービス実行環境などのソリューションが登場し、競う段階へ入っていくのではないでしょうか。 この記事では、Docker登場から現
2017-10-24CircleCI2.0 に移行してビルド実行速度を向上こんにちは。開発本部の稲本です。医療介護の求人サイト「ジョブメドレー」の開発を担当しているエンジニアです。 最近ジョブメドレーでは CircleCI2.0 への移行を行いました。移行の方法はもちろん、その際に調べたこと、CircleCI の新機能を利用してどうだったかなどを書いていきたいと思います。 課題感弊社では、全プロダクト(CLINICS、MEDLEY 、介護のほんね、ジョブメドレー)で CircleCI を利用しています。 ジョブメドレーでは CI によるテスト実行に 37 分前後掛かっていました(コンテナを 2 つ利用した実行時間です)。 さらに、開発メンバーが増えて来たこともあり、CI のリソースが足りなくなり開発効率が落ちかねない状況でした。 まぁよくある話ですよね。 コンテナを増やすというのも解決策の
SSH可能なコンテナを用意します。 公式にスレーブ用のDocker ImageをDocker Hubに公開してくれているのでそれを使いましょう。 jenkinsci/ssh-slave – Docker Hub または jenkinsci/docker-ssh-slave – GitHub を参照 使い方はとっても簡単! docker run -d --name slave1 --hostname slave1.local jenkinsci/ssh-slave "公開鍵" 便宜上、−−hostname slave1.local と −dオプションを付けました。 SSHできるか試します。 docker exec -it master_jenkins ssh jenkins@[スレーブのIP] もしもスレーブのIPがわからない場合は以下のコマンドで確認できます。 docker inspect
追記: 2016/01/31 2016/01/18ごろにWorkflowプラグインは、Pipeline プラグインに改名されたようです。 https://wiki.jenkins-ci.org/display/JENKINS/Pipeline+Plugin 自動テストでデータベースなどのリソースの問題で並列実行ができないときに、Dockerを使ってリソースを用意して並列化する方法をまとめました。 なるべく実践的な環境を想定して以下のことができることを目標とします。 GitLabと連携してマージリクエストに対してテストを実行する 手動でブランチ名を指定してジョブを実行できるようにする 1つのテストジョブを分割して並列処理できるようにする 構成 構築した環境の構成は以下の通りです。 OSX Docker v1.9.1 Jenkins v1.625.3 dockerイメージを使用 https:/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く