はじめに WindowsでCursorエディタを使いたいけど「Dev Containers」が使えないのでDockerコンテナ上で開発できないし、けどどうにかして使いたいなぁということで、色々と調べた結果、最終的にsshで接続してCursorからDockerコンテナ内に接続できたので、記念に初記事を投稿します。 (2024/01/09 追記) バージョン:0.22.0 から「Dev Containers」に対応したようです! 試してみましたが、無事にコンテナの中に入れることを確認しました。 以降、Cursorでコンテナの中に入るためだけにssh接続する環境を作る必要は無さそうです。 wsl2上のDockerコンテナにssh接続する環境を作成 1. ssh公開鍵の作成(WSL) ssh-keygen -t ed25519 -f .ssh/(公開鍵名) 2. Dockerコンテナの作成(WSL
こんにちは!seiです! ローカルPC(WSL)から立ち上げたDocker コンテナにWindowsPCから接続できなくて、2時間ほどはまったので備忘録です! Dockerコンテナに外部から接続できない原因 Dockerコンテナに接続できないときの原因は主に以下3つです。 コンテナ内アプリを0.0.0.0でリッスンしてない ポートのマッピングが間違っている コンテナが実行されていない コンテナ内アプリを0.0.0.0でリッスンしてない 今回僕がはまってしまったのはこれが原因でした! コンテナ内でFastAPIを用いてバックエンドサーバを立ててました。 dockerFile FROM python:3.8-slim-buster RUN pip install fastapi "uvicorn[standard]" CMD ["uvicorn", "app.main:app", "-relo
ARG PYTHON_BASE_IMAGE='python' FROM ${PYTHON_BASE_IMAGE}:3.11 AS rye # Pythonがpycファイルを書き込まないようにします。 ENV PYTHONDONTWRITEBYTECODE=1 # Pythonがstdoutとstderrをバッファリングしないようにします。これにより、 # バッファリングによりログが発生せずにアプリケーションがクラッシュする状況を避けることができます。 ENV PYTHONUNBUFFERED=1 ENV PYTHONPATH="/workspace/src:$PYTHONPATH" # 仮想環境はryeが実行されるワーキングディレクトリで作成されるため、 # 開発環境と本番環境はそれぞれ同一のディレクトリにする必要があります。 WORKDIR /workspace RUN \ --moun
概要 前提 規約 コンテナはエフェメラル(短命:ephemeral)であること .dockerignoreを有効活用する 不要なパッケージのインストールを避ける コンテナ毎に1つのプロセスだけ実行 レイヤーの数を最小に 複数行の引数はアルファベット順、改行すること Docker network 概要 bridge none host overlay ipvlan macvlan Docker Volume 概要 bind mount volume tmpfs mount Dockerfileを扱う まずはDockerfileを作成する! FROM:ベースイメージを作成 RUN: 任意のコマンドを実行する WORKDIR: ワークディレクトリを追加する レイヤーの確認 コンテナの生成と停止 imageを作成 runでコンテナを起動 stopでコンテナを停止 pruneでDockerのお掃除
概要 Dockerイメージを手元でrunさせる際にそのまま動かさず、試しにbashを実行してコンテナの中身を見たいときがあります。 Dockerビルドの際、entrypointが指定されているとCMDと違いbashを指定するとコマンドが上書きされず引数(オプション)扱いとなるためエラーとなってしまいます。 エラー例 $ docker run -it --rm aerospike/aerospike-tools bash error: Unknown command: bash entrypointを指定して上書き $ docker run -it --rm --entrypoint "bash" aerospike/aerospike-tools 参考 Docker run リファレンス
DockerがErrorで起動しない(Ports are not available: listen ~An attempt was made to access a socket in a way forbidden by its access permissions.)WindowsDockerdocker-compose 症状 以前から、Dockerを使用していました。 久しぶりに使ったら、 "Error response from daemon: Ports are not available: listen tcp 0.0.0.0:3306: bind: An attempt was made to access a socket in a way forbidden by its access permissions." エラーで使用できません。 環境は、windows(WSL
Docker創始者らが開発、ビルド/テスト/デプロイの自動化をポータブルにするツール「Dagger」登場。そのままローカルでもGitHubでもCircleCIでも実行可能に Dockerの創始者であるSolomon Hykes氏らが中心となって開発しているオープンソースのCI/CD環境構築ツール「Dagger」が公開されました。 Windows、Mac、Linuxで試すことができます。 And we are live! Introducing Dagger, a new way to build CI/CD pipelines. By the creators of Docker. https://t.co/DU8racmoUo — dagger (@dagger_io) March 30, 2022 Daggerが定義したCI/CDパイプラインはポータブルになる Daggerとは「A P
tl;dr 最近(2019年8月現在)Nvidia-dockerなしでDockerでGPUが使えるようになったと聞いてためしたらハマった話 Nvidia-dockerはインストール不要だけど、ランタイムはいるのかよ、と思ったので備忘録 最近Nvidia-dockerなしでDockerでGPUが使えるようになったと聞いた ことの発端はTwitterなんかで表題の話を流し見したことだった. 確か記事は以下だったと思う medium.com どうやら今まで $ docker run --runtime=nvidia ... ってやってたのが $ docker run --gpus all ... で済むらしい。 というわけでDockerを再インストールし始めた Dockerのインストール 基本的には公式のドキュメント通りにやってれば問題ない. 実際問題なかった. docs.docker.com
Ubuntu20.04.3LTS Docker version 20.10.7 docker-compose version 1.29.1 nvidia-docker2(sudo apt-get install -y nvidia-docker2でNvidia Container Toolkitが導入される) VScode 1.61.1 RTX 3060 Driver Version: 470.74 python機械学習の開発環境をどうするか。 Anaconda:事業展開するときに有償ライセンスが必要かも知れない。 Docker Desktop:事業展開するときに有償ライセンスが必要かも知れない。 という背景から、ライセンスが緩いdockerとdocker-compose を使った方がいい?という動機。 最新の開発環境は、dockerで提供されるケースが増えているという助言も。 CUDAや
入門 Docker¶ About¶ Dockerの入門からプロダクションで活用するプラクティスについてのドキュメントです。 プロダクションへ導入するために必要なDockerの概要から設計までをなるべく最短経路で学ぶことが目的です。 想定する読者層¶ WebAPIのようなサーバーサイドのプログラミングをしたことがある Dockerをこれからプロダクション環境へ導入してみたいと考えている初学者 Version¶ Docker 18.09.3 docker-compose 1.23.2 必要な環境¶ Docker Hub のアカウント Docker公式レジストリ Play with Docker DockerをWeb上で動かせる環境 Play with Dockerを起動するのに前述のDockerHubアカウントが必要 Docker for Mac(Windows)の場合VMが間に挟まり挙動が異
------------------------------------------------------ 2024 年 1 月更新 本書がきっかけで「なんとか Docker を使えるようになりたい」というプログラマの方向けの入門書を秀和システム様から出版させていただけることになりました 開発系エンジニアのためのDocker絵とき入門 https://www.amazon.co.jp/dp/4798071501 紙書籍と電子書籍、どちらもございます この書籍と執筆経験は、みなさまからの驚くほどの高評価があればこそ得られた機会でした いつも本当にありがとうございます 書籍化に際しまして、この場で次のとおり説明させていただきます 1️⃣ 本書 ( Zenn ) は有料化しません 2️⃣ 本書 ( Zenn ) は今後更新しません 3️⃣ 本書 ( Zenn ) と出版される絵とき入門の違い
さて、Docker,docker-compose、CI/CDパイプラインの構築と学んできたので、 少し小難しい話もしていこうと思います。 皆さんはJetsonやGPU付きPCでDocker環境でGPU指定したい時、docker runで『– – gpus all』としますよね? これをDocker-compose.ymlにコーディングする際、どう書けばいいんだろう?と悩んだことはありませんか?今回はそのやり方について解説していこうと思います。 docker-compose v1.28以前の方法 nvidia-container-runtimeをインストール 実はdocker-composeでは、docker runの『– –gpus all』に対応したコマンドがまだ実装されていません。(2021/6現在) 👇なので、『– –runtime nvidia』オプションを指定できるようnvid
最近自分はdeep learningやデータサイエンスの環境構築も基本的にdockerで行うようにしています。 dockerfileさえあれば他のVMでも簡単に同じような環境が作れるので重宝しています。 しかし、docker imageって何気にサイズがでかいのでストレージの容量がすくない端末やVMだとimageをたくさん作ったときにすぐ容量がなくって辛いです… そこで今回はdocker imageの保存先を変えてみたいと思います。 docker imageの情報はデフォルトの設定を変えていなければ基本的に /var/lib/docker/配下に保存されます。 この保存先のパスをマウントされたディスクなどに変更してあげればいいわけです。 docker の環境ファイルの場所を確認 docker info で環境ファイルの場所を確認できます。 $ docker info Containers:
DockerでGPU学習環境構築 背景 ディープラーニングでローカルPCのGPUを使った学習環境を構築した経験のある人は、一度はNVIDIAのドライバやCUDA周りでハマった経験があるのではないでしょうか?そんなバッドノウハウ(怪文章?)をまとめたQiita記事(TensorFlowでGPU学習させるためにCUDA周りではまったときの対処法)に、なんとNVIDIAの中の人(@ksasaki さん)から「Dockerを使えば…人類は幸せになれる(超意訳)」とのコメントをいただきました! 喜び勇んで、NVIDIAのドライバをアップデートしたところ、そこには文鎮と化した起動しないLinuxマシンが…からあげのNVIDIAとの戦いは始まったばかりだ!(戦ってません) DockerでGPU学習環境構築するメリット うまく構築できればという前提で、以下のようなメリットがあります。 様々なフレームワーク
タイトルの通りです。ここ数日間、CentOS8とDocker CEで戦ってきました。 しかし問題が起きすぎて困ったので、現状はあまり使えないと思っていたほうがいいよ、そしてこれからも問題が起きるかもしれない(これに関しては推測でしかないですが)という記事。 追記 (2020/09/21) ドキュメントではまだ7.xのままですが、2020/09/17にCentOS8(el8)用のstableにパッケージが追加されているようです。これがそのまま動作するかは試していないため定かではありませんが、サポートはされていると思われます。 https://download.docker.com/linux/centos/8/x86_64/stable/Packages/ よって、これ以降の文章に関してはもう問題なくなったかな、と思います。(読まなくていいです) 公式のパッケージが存在しない CentOS
コンテナを複数立ち上げた場合、他のコンテナへアクセスする場合は 10.88.0.60 のように、起動のたびに変わるIPを指定する10.88.0.1:8080 のように、ホストのIPを指定&ポートフォワーディングpod を使ってコンテナをまとめる の3パターンがあります。Docker だと IP ではなくコンテナ名でアクセスできたので、podman でもできないか試してみました。 更新: ホスト側の設定方法を追加しました 今回は rootful コンテナで試します(rootless まだ理解できていない・・・)。 プラグインのインストール 使用するのは dnsname プラグインです。 まずは dnf でインストールできるか確認します。 利用可能な場合 Available Packages podman-plugins.aarch64 2.0.4-1.el8 devel_kubic_libc
Red Hatでソリューションアーキテクトをしている田中司恩(@tnk4on)です。最近はPodmanやOpenShiftの良さをより簡潔に伝えられないかと日々考えながら記事の寄稿などの活動も行っています。 前回の記事では RHEL 8.4 BetaとPodman v3について紹介しましたが、 ついにRHEL 8.4 がGAになりイメージの入手が可能になりました。有効なサブスクリプションをお持ちの場合や、Red Hat Developer Programのアカウントをお持ちの場合は今すぐに入手できます。なお、評価版についてはこの記事執筆時点ではRHEL 8.3のままのようです。 今回は前回記事でも触れたPodman v3でdocker-composeを実行する方法について紹介します。 前回記事はこちらです。 rheb.hatenablog.com (追記)この記事の続きの記事を書きました。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く