以下の内容はhttps://graziegrazie.hatenablog.com/entry/2024/12/27/003213より取得しました。


Docker・Dockerfile・Docker compose・entrypoint.shのメモ

最近Dockerを使って開発を行うことが多いので、諸々調べたことを加筆すると共に、適宜修正をしていきます。修正する際は、before/afterを残すようにしますが、私の認識違いや仕様変更などに伴って修正される可能性がある点はご容赦ください。

Docker関連

コンテナからGUIを表示させる方法

  1. ホストとコンテナで諸々共有する
  2. ホストコンピュータ上でxhost +local:を実行する
    • このコマンドを実行することで、localhost上のすべてのXクライアントがホストコンピュータのXサーバーにアクセス可能になる。
    • なおxhost +とだけすると、全世界から自分のXサーバーに対してアクセス可能になってしまうため要注意
    • 詳しくはhttps://zenn.dev/ykesamaru/articles/add7d844f56516私の過去の記事などを参照ください。

Dockerfile

Docker compose(docker-compose.ymlを使う想定)

ホストコンピュータのデバイスにアクセスしたい

  1. まず、デバイスファイルを共有する
  2. 次に、docker-compose.yml上でデバイスファイルにアクセスしたいアプリケーションに対して

privileged: true

を追加する。例えばこの記事のように。

docker-compose向けに環境変数を定義したい

.envファイル作成し、そこに定義する。参考: docker-composeのenv_fileと.envファイルの違い #Docker - Qiita

entrypoint.sh

entrypoint.shでは、コンテナ起動直後に実行したいコマンドなどを記述しておきます。例えばROSでは、ros_entrypoint.shのようにROS向けのentrypoint.shを作成し、その中では、

# setup ros environment
source "/opt/ros/$ROS_DISTRO/setup.bash"

のように記述します。他にも必要なコマンドがあれば追記しておきます。




以上の内容はhttps://graziegrazie.hatenablog.com/entry/2024/12/27/003213より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14