Docker
MacOS に podman remote client をインストールしてから,別の Ubuntu PC の podman server にアクセスする設定の備忘録です. インストール MacOS Releases · containers/podman · GitHub 上記ウェブサイトから, podman-remote をダウンロードして実行でき…
Ray Tune を使用していて,このような警告が表示されました. The object store is using /tmp instead of /dev/shm because /dev/shm has only * bytes available. This will harm performance! You may be able to free up space by deleting files in /de…
Docker Desktop The #1 containerization software for developers and teams Docker Desktop: The #1 Containerization Tool for Developers | Docker 便利なソフトウェアだと思いますが,必ずしも無料ではありません. Pricing | Docker また,実行速度やC…
devcontainer でタイムゾーンをJSTに設定するには,以下の設定を追加します. devcontainer.json { "containerEnv": { "TZ": "Asia/Tokyo" } } この設定がない場合は, $ date Sat 15 Jul 2023 02:07:46 PM UTC となりましたが,上記設定をすれば, $ date S…
Ubuntu で以下のように ufw を設定しました. $ sudo ufw status verbose Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), deny (routed) 一見完璧に見えますが,この設定のまま,docker はポートを開けることが可能です. $…
Visual Studio Code で devcontainer を利用した開発環境はとても便利です.しかし,vscode にサイズが 30 GB のファイルをドラッグ・アンド・ドロップしてコピーしようとしたら,転送速度が 10 MB/s 程度しか出ませんでした.この速度では,完了するまでに …
Dev Container を利用して Docker 環境で開発をすると,それぞれのプロジェクトについて自由に依存関係を構成することが可能になり,大変便利です.しかし,開発に必要なライブラリを1個のコンテナに準備する必要があり,準備が大変でした.それでも一度全部…
Dev Container を使用していると,ゾンビプロセスが大量発生することに気づきましたので,init を有効にすることで解決しました. 現象 htop コマンドで確認すると,10個以上のゾンビプロセスが発生しています. 解決方法 Docker container で init を最初に…
M1 MacOS で,Docker CLI と docker compose を使用する方法をまとめます.Docker Desktop は使わずに準備します. Docker CLIをインストール 以下のウェブサイトからダウンロードします. https://download.docker.com/ ダウンロードしたファイルを展開して…
GitHub Action で,docker/setup-buildx-actionを用いて複数のイメージを扱ってみます. 前提条件 簡単な例として,pip コマンドで依存関係を解決して,結果を表示する Docker イメージをビルドします. Dockerfile FROM python:3.11-slim-bullseye WORKDIR …
Visual Studio Codeのdevcontainerを利用すれば,自分好みの開発環境をDockerfileにまとめられるので便利です.今回は,PythonでTensorFlowを高速に実行するために,devcontainerでGPUを利用できるようにします. 始める前に,DockerのホストにCUDAのドライ…
結論 docker system prune --all --volumes docker system prune docker system prune docker system prune ならば,停止したコンテナ,ネットワーク,宙ぶらりんイメージ(dangling image)を一括で削除します.--allオプションを追加するとイメージも一括で…
GeForceなどCUDAに対応したグラフィックボードをDockerで使用するために必要な準備をまとめます. 結論 Docker EngineとNVIDIA Container Toolkit をインストールする. 環境 Ubuntu 22.04 LTS Intel(R) Core(TM) i5-12400 NVIDIA GeForce GT 1030 Docker En…
以下の全てのコマンドを実行しても何も応答がない状況になった. $ docker version $ docker ps $ docker help $ docker 直前に,docker daemonを実行しているホストを変更したので,これが原因のような気がした.docker contextコマンドでリセットしようと…
Ubuntu Serverの通信量を監視するために,Node exporterを使って情報を集め,Prometheusで記録し,Grafanaで表示するようにしてみました. Node exporter ハードウェアとOSの情報を取得するためのソフトウエアです.デフォルトで9100 ポートで動作し,/metri…
Visual Studio Code Remote - Containers拡張機能を使用して開発環境を整えると,Docker Engineで開発用のコンテナが実行されます.docker-compose.ymlを使用すると,複数の別のコンテナが実行されます. https://code.visualstudio.com/docs/remote/contain…
Visual Studio Codeの拡張機能Remote - Containersを使用して,Dev ContainerでDocker Composeを使いPostgresデータベースを起動して,Pythonから操作してみます. 環境 MacOSからUbuntu ServerのDocker engineにリモート接続してVScodeで操作します. % doc…
VScode Remote - ContainersでGitHubのレポジトリをgit cloneしたところ,"Could not resolve host"というエラーが発生して実行できませんでした. ... Sending build context to Docker daemon 2.048kB Step 1/2 : FROM mcr.microsoft.com/vscode/devcontai…
計算用のDocker Engineサーバーを別の場所に用意して,リビングのソファーでリラックスしながら、MacOSやWindowsのノートパソコンでDokerを操作したいと思ったので,方法をまとめます. 以下ではDocker Engineを実行するリモートサーバーと,Docker Clientを…
以下では,rootless Dockerをインストールしたリモートサーバーの,ユーザー名はmt,ホスト名はmt-server.localとします. DockerコマンドのPATHの追加 % docker version error during connect: Get "http://docker.example.com/v1.24/version": command [ss…
備忘録です. Ubuntu Server をインストール Ubuntu Server 20.04 LTSをダウンロードしてUSBメモリーに書き込み,クリーンインストールします. Get Ubuntu Server | Download | Ubuntu Ubuntu Serverをインストール中にDockerなど追加のソフトウェアをイン…
前回の記事で,Raspberry Pi 4BでDockerを使いましたが,思ったよりもリソースが余っているので,より省電力にできないか検討しました.Raspberry Pi Zero WにDockerをインストールして使ってみました. 仕様 Raspberry Pi Zero W 802.11 b/g/n wireless LAN…
Raspberry Pi 4BのCPUは4 core 1.5 GHzであり,サーバー用途としては十分ですが,開発環境としては遅いです.当たり前ですがIntel 4 core 3.2GHz CPUと比較すると処理速度は遅いです*1. 最近はDockerがマルチプラットフォームビルドに対応しているので,x64…
Alpine Linuxで動作するNginxを使ってWebサーバーをHerokuにデプロイした時の話です. 要件 全てのリクエストを別のドメインにリダイレクトするだけのWebサーバーは,最も単純なWebサーバーの1つです.これをNginxで作成し,Herokuで公開します. 作り方 Doc…
WebサーバーをDockerで作成するために,DockerfileのCMDに以下のように書くことを考えます. CMD gunicorn --bind 0.0.0.0:8000 web.wsgi これにより,DockerでWebサーバーを起動すると,問題なくGunicorn - Python WSGI HTTP Server for UNIXが実行されます…
DockerベースのWebアプリケーションの運営に,Google Cloud Runがよさそうだと思ったので,使ってみました.Google Cloud Runは2019年12月に正式リリースされたばかりで,まだ半年しか経過していません*1.とはいうものの,Dockerイメージを指定して,CPUと…
docker-composeでportsとexposeの使い分けを整理します. exposeはホストからアクセスできないポートですが,portsはホストからアクセスできるポートです.*1 例えば,port 5432にpostgres データベースを起動し,djangoを使ってサーバーを作り,ブラウザー…
docker-composeを使う時に,オプションとコマンドと引数の違いにハマったので整理します. docker-composeは,[options] [COMMAND] [ARGS...]の順番で指定していきます. Usage: docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...] docker-compose -h|-</arg>…
docker-composeでvolumesを指定するとき,ホストとコンテナのパスがどうなるかをあれこれ考えるとややこしいので,整理します.また,検索しても古い情報が出てくるので,現時点で最新のversion 3を使用します. 公式ドキュメントに詳しく書いてあります. C…
Docker-in-Docker (dind) を使わないでという記事を見つけた. Using Docker-in-Docker for your CI or testing environment? Think twice. dindを使おうと思っているなら,もう一度考え直すのだ.dindはDockerそのものの開発のために作られたものなのだ.di…