Docker
今回のとことんDevOps勉強会は「【ライブデモ】Visual Studio CodeのDev Containersを使って開発環境構築してみるよ」と題して、Visual Studio Codeの拡張技術であるDev Containersを使用した開発環境の構築方法をライブデモでお届けしました。途中、GitHub…
ここでいうWASMとはWebAssemblyのことを指しています。 WebAssemblyについては説明するのが難しいので、オフィシャルサイトをご覧ください。 https://webassembly.org/ https://developer.mozilla.org/ja/docs/WebAssembly かなりざっくり説明すると、特定の…
背景 普段私はMacで作業しています。3年くらい前からApple Silicon M1のMac miniをメインの作業機として使っています。 そんなある日、ちょっとDocker Composeでアプリケーションをデプロイしたらうまく動かなかったので、久しぶりにIntel Macを起こしました…
Docker Desktop 4.22.0が8月3日にリリースされていたようなのでアップデートしてみようとしたところ、手元の環境ではこんな感じの画面になってしまってアップデートされないのに気が付きました。 ダウンロードして しばらくするとこのような画面に... Docker…
Docker initとは Docker init はコンテナでアプリケーション開発する際に必要な、いくつかのファイルを自動生成してくれるコマンドオプションです。作られるファイルは次の三つです。 .dockerignore Dockerfile compose.yaml Docker initはDocker Desktop 4.…
Podman DesktopとPodmanの組み合わせを使うと、Dockerの代わりにPodmanを使えて良いのですが、Linux版Podmanのようにpodman-dockerのようなパッケージはWindowsやmacOS向けには用意されていないため、そのままではDockerコマンドを使うことができません(Doc…
Docker Desktop 4.18がリリースされてこのバージョンでDocker Scoutが使えるようになったようなので、早速触ってみました。 Docker Desktop 4.18の主な変更点の一つであるDocker Scoutは、Dockerでコンテナイメージのスキャンをしてイメージの脆弱性をあぶり…
気づかないうちにDockerイメージのサイズが大きくなってることってありますよね。最初は1GB切ってたのに、いつの間にやら1.xxGBに。Dockerfileを見て「あぁ、ここだな」っと気づける人は、そもそもイメージサイズを大きくしないので今回は対象外です。Docker…
以前、Docker Desktop 4.15についてこのブログで取り上げました。 devops-blog.virtualtech.jp Docker Desktop 4.16では次のような特徴があるようです。 Docker 拡張機能がGA Docker Hubに拡張機能の検索が追加 イメージ解析の結果が素早く表示されるように …
Docker Desktopは元々Linux以外の環境でDockerを使えるようにするためのソフトウェアです。現在はLinuxにも対応しており、Linuxでデスクトップ環境を用意すれば、Linuxでも同じようにコンテナベースのアプリケーション開発ができるようになりました。 では早…
12/1にDocker Desktop 4.15.0がリリースされました。 www.docker.com 今回のバージョンでVirtioFSがGAになったことにより、コンテナへの共有ボリュームのパフォーマンスが向上するようです。ただデフォルト設定にはなっていないようなので、設定を開いて確認…
今年の4月にリリースされたDocker Desktop 4.7.0でSBOMが普通に使えるようになり、Docker DesktopユーザーはDocker単体でSBOMの調査やSBOMファイル作成が可能になっていました。 www.docker.com 筆者はこの機能はDocker Desktopでしか使えないのかなと勘違…
Trivyというと、コンテナイメージのスキャン用のツールとして有名だと思います。 例えばDocker Desktopなどの拡張機能を使って利用したり、コマンドラインで使ったり、CI/CDの中でスキャンするなどで利用していると思います。このブログでもtrivyについて、…
試そうと思ったきっかけ 某所での話のやり取りで、Ansible Coreはどう動かすかという話になりました。 コンテナーで動かすと並列的に処理ができそうだとか、コンテナーで動かさずにマシンにAnsibleをインストールして動かすほうがシンプルだしわかりやすいと…
前回に引き続き、今回もマルチステージビルドネタです。 devops-blog.virtualtech.jp コンテナイメージを極力小さくする方法として、マルチステージビルドは有効な手段です。 例えばGo言語のアプリケーションは次のようなDockerfileを作って、イメージを作成…
CI/CDやDevOps、アジャイルな開発などを実践する際に、技術面ではコンテナを活用することが多くなってきました。一方で、なかなかコンテナを扱う機会が無い、という人も多いように思います。そんな方には、まずはコンテナを動かしてみよう、ということでDock…
インストール方法は以下に書かれているとおり、何らかのLinuxにDockerをインストールしてそれぞれコマンドを実行していくだけで動きます。 シェルスクリプトを使ったインストールでは対応するOSが動いていることが必要でしたが、この場合はLinuxであれば何で…
Rancher Desktopはデスクトップ上でKubernetesとコンテナの管理を行うことができるツールです。containerdやDockerを使ってコンテナーイメージのビルド、プッシュ、ダウンロード、実行できます。 K3sを使ってKubernetesクラスターの実行もデスクトップ上で可…
最近、KubernetesとかDockerやPodmanを中心としたコンテナーをよく利用しています。 これらでコンテナー化していないアプリケーションをコンテナ化するために必要なことを調べるため、またはこれらのプラットフォームでアプリケーションの実行をデモするため…
Dockerはオープンソースで開発されている、コンテナプラットフォームアプリケーションです。 Docker Desktopは条件付きで無償で利用できますが、OSS版Docker(Moby)は特に条件なく、引き続き無償で利用できます。 https://www.docker.com/blog/updating-pro…
Docker DesktopやRancher Desktopを開発環境で利用している人は多いでしょう。 イメージレジストリーについてはSaaSのサービス、通常はDocker Hubとかを利用しているかもしれません。 Gitベースの開発では、「GitHub Container Registry」や「GitLab Contain…
Distrolessコンテナイメージとは 「Distroless」イメージには、アプリケーションとその実行時の依存関係のみが含まれています。 これらには、パッケージマネージャー、シェル、または標準のLinuxディストリビューションにあるその他のプログラムは含まれてい…
DockerやKubernetesが当たり前に使われるようになって、ただこれらのコンテナーツールを便利に使うだけでなく、 安全に使うための工夫が必要になってきています。 コンテナーでアプリケーションを使う上で、コンテナーイメージは重要なパーツの一つです。 コ…
Dockerといえば、Kubernetes 1.24リリースにあたり、DockerとKubernetesの橋渡しをしていたdockershimのサポートがKubernetesから無くなったことに伴い、従来のやり方でKubernetesでDockerランタイムが利用できなくなったことが記憶に新しいですが、コンテナ…
Dockerといえば、Kubernetes 1.24リリースにあたり、DockerとKubernetesの橋渡しをしていたdockershimのサポートがKubernetesから無くなったことに伴い、従来のやり方でKubernetesでDockerランタイムが利用できなくなったことが記憶に新しいですが、コンテナ…
cimgというプレフィックスが付いたコンテナーイメージは、継続的インテグレーションでのビルドを想定してCircleCI社が作成したコンテナイメージです。 様々なプログラミング言語、データベース、OSのイメージが提供されており、自由に使えます。 circleci.co…
Docker Desktopは元々Linux以外のOSでDockerを気軽に使うためのソフトウェアでした。WindowsとmacOS向けにリリースされていました。 最近Linux Desktop向けにもDocker Desktopが提供されるようになったものあり、Linuxのデスクトップ環境でもDockerコンテナ…
Visual Studio Code(以下VSCode)はマイクロソフトが開発している拡張可能なエディターであり、元々はオープンソースではありませんでしたが、現在はオープンソースで開発されています。 何かの言語でソフトウェア開発をする場合、開発用のマシンに開発環境…
今回はDockerの中でKubernetesクラスターを簡単に作成できる「kind」を使ってみたいと思います。 kindは、Dockerコンテナの「ノード」を使用してローカルのKubernetesクラスタを実行するためのツールです。 kindは元々、主にKubernetes自体をテストするため…
Dockerfileを書くとき、ベストプラクティスに則っているか、RUNの実行に問題はないかなど、意識していますか?コンテナイメージのサイズは目に見えるので意識しやすのですが、Dockerfileがベストプラクティスに則っていなくても警告なく動いてしまうので、つ…