はじめに 今まで個人開発でなんとなくDockerを触るレベルでしたが、 転職を機に実務でDockerを触れる機会が増えてきました。 なんとなく使っていたDockerへの理解を深めるためにも、 より軽量なDockerイメージの作り方についてメモします。 なぜ軽量なイメージを作るのか ビルド時間の短縮 トライアンドエラーがしやすくなる 生産性が高まる Dockerイメージをpush/pullする時間の短縮 CI/CDにかかる時間の短縮 オートスケール時にかかる時間の短縮 ストレージの節約 軽量なDockerイメージを作るために 軽量なベースイメージを選ぶ Debian UbuntuなどのLinuxディストリベーションベース 広く普及して安定している バージョンごとに-buster(v10)や-bullseye(v11) などのコードネームがつく Alpine 組み込み系で多く利用されるBusy
(2024/06/21追記) 本記事のアップデート版を弊社技術ブログに投稿しました。 Tipsの追加に加え、既存Tipsの内容も更新していますので、よろしければご確認ください。 はじめに 皆さん、docker composeを利用しているでしょうか? 複数のdockerコンテナをまとめて立ち上げたり、環境変数を定義できたり便利ですよね。 今回はある程度docker composeを利用している方向けに私が便利、便利そうと感じたdocker composeの機能を挙げてみました。 docker compose cli v2を利用 docker-composeではなく docker composeコマンドも利用可能になってます。 Docker Desktopでは v3.4.0から利用可能で、基本的にはコマンドの互換性あります。 Docker image名やコンテナ名のプレフィックスをディレクト
2022年12月4日よりDocker版実習環境を提供します。オリジナルの実習環境はVirtualBox上の仮想マシンとして提供していますが、M1/M2 MacではVirtualBoxが動作しないことから、Docker版として提供するものです。 元々はM1/M2 Macを想定してARM64アーキテクチャ用に作りましたが、AMD64のWindowsやMacでも動作するように作っています。 Dockerコンテナの起動方法 ダウンロードページから実習用仮想マシン (Docker版)をダウンロードして適当なディレクトリに設置してください。 以下のコマンドによるコンテナーのビルド及び実行をします。 $ cd <wasbook-docker.zip を設置したディレクトリ> $ unzip wasbook-docker.zip # あるいは適当な方法でのzip解凍 $ cd wasbook-docker
この記事は、「TechFeed Experts Night#7 〜 コンテナ技術を語る」の開催に際し、TechFeedのデータを元に日本語記事ランキングを紹介していくものです。 60日以内で、獲得スコアが高かった順にトップ10を紹介しています(1pt以下の記事はランキングに含めていません)。 本記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るのセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 こんにちは、TechFeed CEOの白石です。 この記事は、TechFeed Experts Night#7 〜 コンテナ技術を語るの開催に際し、TechFeedのデータを元に日本語記事ランキングを紹介していくものです。 60日以内で、獲得
1.数ヶ月ぶりにビルドしたらエラーになる 開発中は問題がないのですが、数カ月ぶりにWebpackなりをつかってビルドしてみるとエラーがでる。 フロントエンド開発者なら一度は経験したことがあるのではないでしょうか? いろんな原因があると思いますが、以下のような条件で起こることが多いのではないでしょうか? ・複数のプロジェクトを開発する端末に直接配置している。 ・nodeenvなどのバージョン切り替えツールをいれずグローバルでnodeを使っている。 ・ライブラリをプロジェクト内で限定せずグローバルでつかっている。 要は、手元のMacやWindows、Ubuntuなど開発端末上に直接、複数のプロジェクトを配置して開発しつつ、nodeを共有したり、安易にバージョンアップとかしているとビルドができないなどのエラーが発生したりします。 2.nodeをつかったフロントエンドのビルドの脆さ (1)特定の団
この記事を読んだらできること Mobyをビルドしてruncとcontainerdを動かせます。 runcとcontainerdを使ってコンテナを動かすことでなんとなくコンテナの理解が深まります。 夏休みの自由研究にコンテナを動かす仕組みを自分で深く調べたくなります(たぶん)。 記事の背景 Dockerを使い、なるべく小さい薄いコンテナを作っていく中でDockerの中身を詳細に知りたいと思ったので、DockerのソースコードであるMobyをビルドしてコンテナ実行のコアの基盤ソフトであるrunc、containerdを動かしてみました。 1. コンテナのアーキテクチャと用語解説 まずMobyを動かす前にコンテナのアーキテクチャと用語を理解しておく必要があります Docker Desktop(mac版)を俯瞰した図が上記となります。実際はDocker DesktopはKubernetes(k8s
Docker Composeは普段使っていて大体設定の内容が理解できるけど、Kubernetesはちょっと難しそう・・・。そんな風に思っている人のためのKubernetes入門書です。最後のページでは「Docker ComposeじゃなくてKubernetesを選びたい理由」や「ECS、App Runner、Cloud Runの違い」などについてもカバーしています。
概要 2021年の後半にDocker Compose V2がリリースされました Docker Compose V2はCompose Spec[1]に準拠しているため、docker-compose.ymlもその仕様に則った書き方ができるようになっています services: app1: image: awesome/webapp configs: - my_config secrets: - server-certificate app2: image: awesome/database extends: service: app1 configs: my_config: file: ./my_config.txt secrets: server-certificate: file: ./server.cert services: app1: configs: - source: my_co
こんにちは、エムスリーエンジニアリンググループのコンシューマチームに所属している園田(@ryoryoryohei)です。今回は 15 年以上続いている弊社の C 向けサービスである AskDoctors の AWS 移行で苦労した点や工夫した点などをお伝えしたいと思います。 はじめに 移行フェーズ 苦労したポイント デプロイ方法の変更 バッチのアーキテクチャ 泥臭い修正 待ち時間 定型外のリリースフロー AWS 移行後のこと End-to-End のレイテンシー悪化 バッチ起動エラー Redis メモリ逼迫 オンプレの API に対する Connection Failed おわりに We are hiring! はじめに 弊社では to C のサービスとして AskDoctors という医師に直接相談できる Rails のサービスを 15 年以上前から運営しています。 www.askdoc
------------------------------------------------------ 2024 年 1 月更新 本書がきっかけで「なんとか Docker を使えるようになりたい」というプログラマの方向けの入門書を秀和システム様から出版させていただけることになりました 開発系エンジニアのためのDocker絵とき入門 https://www.amazon.co.jp/dp/4798071501 紙書籍と電子書籍、どちらもございます この書籍と執筆経験は、みなさまからの驚くほどの高評価があればこそ得られた機会でした いつも本当にありがとうございます 書籍化に際しまして、この場で次のとおり説明させていただきます 1️⃣ 本書 ( Zenn ) は有料化しません 2️⃣ 本書 ( Zenn ) は今後更新しません 3️⃣ 本書 ( Zenn ) と出版される絵とき入門の違い
Docker for Mac が遅い! docker-sync や、 docker on Vagrant や、cached オプション、delegated オプションなどなど、いろんな解決策が紹介されましたが、それでもフレームワークなどを使っていると遅い、、、 というわけで Docker Desktop for Macの遅い問題を解決する、2022版バージョンをお届けします。 マウント先がドキュメントルートだから遅い よくローカルのファイルをコンテナ内から参照するためのマウント先をドキュメントルート、要するに、 /var/html/html に設定する例を多く見ますが、これが問題の根源となっている。 ドキュメントルートをマウントせずにファイルを設置すると普通に早い。 ドキュメントルート以外にマウントして同期する 今回は、 /var/www/shared にマウントして、 lsyncd で同
はじめに Dockerを用いた開発では、適切にキャッシュを用いることで高速にビルド・開発できます。そのための知見は様々な記事で共有されており、ありがたい限りです。 しかし、「Dockerのキャッシュ」と言っても開発時とCI・CDでは行うことが違います。 この記事ではDockerを用いた開発における、各段階のキャッシュ機能を確認したいと思います。 主に「Dockerのキャッシュ」というと以下の4つに分類できると思いますので、それぞれについて解説していきます。 Dockerのレイヤーキャッシュを活かす a. COPY・ADDの順番 b. dockerignoreの設定 c. マルチステージビルド buildkitによるキャッシュ a. --mount=type=cache CI・CDにおいてのキャッシュ a. 前回のビルドキャッシュを持ち越して使う リモートキャッシュ a. 開発者が初めてビル
[7/10更新]末尾にDocker DesktopとRancher Desktopの比較を追加しました。 Ranchar社からRanchar Desktopが登場しました。 公式サイトはこちら なんとなく、Docker Desktopの代わりになりそうに見えます。 Ranchar Desktopのインストール 公式のインストール手順はこちら。 Widnows、macOS、Linuxに対応しています。 特にWindowsについては Rancher Desktop requires Windows Subsystem for Linux on Windows; this will automatically be installed as part of the Rancher Desktop setup. Manually downloading a distribution is not
この記事はPRを含みます。 概要 背景 移行 Docker Desktopのアンインストール Rancher Desktopのインストール Kubernetesクラスタの無効化 宣伝 まとめ 概要 Rancher Desktopがcontainerdに加えdockerにも対応したのでDocker Desktopから乗り換えてみました。簡単な用途だとdockerコマンドがそのまま使えるので特に困っていません。 背景 2021年9月にDocker Desktopが有料化されました。移行期間として2022年1月31まで引き続き無料で利用できましたが、それもついに終了しました。 www.docker.com ただし、個人利用もしくはスモールビジネス(従業員数250人未満かつ年間売上高1000万ドル未満)、教育機関、非商用のオープンソースプロジェクトでは引き続き無料で利用できるという条件でした。no
[速報]DockerがKubernetesとの統合およびサポートを発表。DockerCon EU 2017 デンマークのコペンハーゲンで10月17日に開幕したイベント「DockerCon EU 2017」で、DockerはKubernetesをSwarmと同等のレベルでDockerと統合し、サポートすると発表しました。 Dockerコンテナを用いた分散環境を管理するためのオーケストレータには、Dockerに統合されたSwarmだけでなく、Marathon、Rancher、そしてKubernetesなど複数のツールがありますが、この発表でKubernetesがオーケストレータにおける事実上の標準の地位を固めたと言えそうです。 次のDockerでネイティブにKubernetesをサポートする DockerCon EU 2017の基調講演に登壇した、Docker創業者兼CTO Solomon H
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く