Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

docker

Dockerコンテナをホストネットワークモードに設定してホストマシンのネットワーク設定に相乗りさせる

Dockerコンテナをホストネットワークモードというものがあります。 もの凄く乱暴にまとめると、ホストマシンのネットワーク設定に相乗りする方法……という事のようです。 OSを混在させたいが、閉じた環境で使う前提のためセキュリティを低くしてでも軽く運用…

docker privilegedフラグについて

何らかの事情でdockerコンテナに権限を与える必要があるケールもあるかと思います 実際のところ privileged フラグはコンテナに対して管理者権限を与えるオプションなので コンテナはホストPC上で大体の処理が可能となります。たとえば、以下のコマンドの場…

私用オンラインストレージNextCloudをRasPi4B+に構築 その1:環境構築

業務データや営農日誌を保存したいが外に出したくないというような話がでてきました。 以前、こういう話をPythonでやった結果、要件が拡大して酷い目に遭ったことがあります。 そこで今回はパッケージを何か使おうと探していたところ……NextCloudというやつな…

Debian系の軽いNoVNCもちDocker環境

実際のところ いままではdorowu氏のubuntu-desktop-lxde-vncを使わせてもらっていました。 が、ちょっと重いのもあり別のを探してみることに。theasp氏のnovncが比較的軽くてよい使い捨ての実行環境は $ docker run --rm -it -p 8080:8080 theasp/novnc正直…

DockerからPandocを利用してドキュメント生成で楽をする

shuzo-kino.hateblo.jp でやったPandocですが、これもDockerで出来るのかなと思い調べたところ……ありました。 実際のところ $ docker pull pandoc/core $ docker pull pandoc/latex対象ファイルとしてこんなものを $ cat test.md # hello ## bye bye You mad…

Dockerコンテナを自動起動するようにする

実際のところ 実行中の「xarmros2」という名称のコンテナを自動起動するようにするには docker update --restart unless-stopped xarmros2 参考もと Start containers automatically | Docker Documentation

VSCode devcontainerを使い、DockerコンテナをVSCodeで扱う

実際のところ サンプルをつかう 試しにGO言語の環境を作ってみます。 ターミナルをひらくと、 終わると、こんな塩梅に 中身はWEB鯖でhelloと出る、よくあるサンプル環境が得られます。 参考もと VSCode devcontainerを使って面倒な開発環境を作る - Qiita Ge…

Alpine Linuxにdocker環境を作る

実際のところ ログインして、以下のファイルを編集 vi /etc/apk/repositoriesリポジトリのmainを有効に http://dl-cdn.alpinelinux.org/alpine/v3.16/main #http://dl-cdn.alpinelinux.org/alpine/v3.16/community #http://dl-cdn.alpinelinux.org/alpine/ed…

node-redで遊ぶ その1:環境構築と最初のflow

観測範囲では主に自宅IoTまわりの人が使っている(ように思える)node-redを少し弄ってみました node-redは名前の通りnode環境です ちょっと前ならnode.jsな時点で敬遠していたでしょうが、ある程度ツールも作成できるようになったので、まぁええかなと 実際…

Dockerのalpine linuxベースな環境でrootで入って強引にパッケージをいれる

Dockerで構築したAlpine Linuxベースの環境に別のパッケージを入れようとした時の事パッケージを入れようと端末に入れば $ apk update ERROR: Unable to lock database: Permission denied ERROR: Failed to open apk database: Permission deniedと怒られ、…

Windows上のUbuntu(WSL/Docker)からmoshをつかう

やたらと苦労したので、メモ公式の方ではChrome拡張を推奨しているのですが、どういう訳か手元では動かず 仕方がないのでWSLやDockerのUbuntuで接続してみることに 実際のところ 共通 $ sudo apt install mosh Ubuntu on WSL2 $ mosh pi@192.168.3.5 切断テ…

Dockerコンテナ間でボリューム領域を共有する

ROSまわりの開発の際、外部装置の入れ替わり*1の度にcatkin_makeで環境を作るというやや不毛な事をしていました。 なんとか既存のコンテナにデバイスを追加できんかと探していましたが……冷静にDockerのコンセプトを考え直すと不変領域は別に逃がすものだよな…

docker ls/ps/list で動いてないコンテナも表示する

docker ls/ps/list は現在実行中のコンテナを表示してくれます が、自分の作ったコンテナの名前が分からなくなって調べたいときはどうするか……幸い、"-a"または"--all"のオプションで動いてないのも表示が可能です 実際のところ $ sudo docker container ls …

docker execでユーザー名を指定したりディレクトリを変更したりする

実行中のcontainerにちょっかい出せるexecコマンドはオプションを付ける事で特定のユーザーで実行したり、ディレクトリを指定できたりします。 実際のところ ubuntuというユーザーで/home/ubuntu/catkin_wsに入った状態のbyobuを実行するには sudo docker ex…

docker imageに別名をつける

間違えずにイメージ名を書くのが面倒になったので少し調べたところ、 サブコマンドのtagコマンドで別名を付ける事ができるらしい。 Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE 実際の…

docker run --rmで使い捨てコンテナを作ってすてる

実際のところ Docker runで作ったコマンドを再利用する - Bye Bye Moore でやった事を使い捨てでやると $ docker run -v C:\Users\user\Pictures:/imgs --rm dpokidov/imagemagick /imgs/red.jpg -resize 1000x1000 /imgs/toobig.jpg 参考もと hub.docker.com

PowerShellでDockerに渡すパスが通らないとき

PowerShellでImageMagick on DockerをつかったPDF結合をやろうとしたら docker: invalid reference format. と言われエラーに。今回のケースではパスにスペース*1が入っていたことが原因だっため、これを解消する。 実際のところ 幸い、Powershellには"$PWD"…

Dockerfileにパッケージマネージャ経由で拡張してイメージをつくる

実際のところ 前回と同様alpineから。 これにはbashが入っていないので、パッケージマネージャapkを更新してbashを導入。 FROM alpine:latest RUN apk update RUN apk add bash ENTRYPOINT ["/bin/bash"]EntryPointをbashに設定することで起動するのもbashに…

Dockerfileを書いて試してみる

実際のところ https://hub.docker.com/_/alpine/:tilte=alpine on Docker hub Docker公式が推してる軽量Linux*1、alpineのイメージを導入 $ docker pull alpine次にDockerイメージをビルドするための作業環境を用意 $ mkdir dockerbuild $ cd dockerbuild $ …

Docker runで作ったコマンドを再利用する

実際のところ imagemagickのイメージを引っ張ってきて、 $ docker pull dpokidov/imagemagickそれを元に、リサイズ規模が違うだけの似たコマンドをrunで実行 $ docker run -v C:\Users\user\Pictures:/imgs dpokidov/imagemagick /imgs/red.jpg -resize 1000…

Docker for Windows導入中にHardware assisted visualizationが云々と怒られたら

実際のところ 食わず嫌いで極力さけていたDockerがあまりに便利だったので、普段の作業機以外に自作PCにも導入しようとしたところ、 Hardware assisted visualizationが云々とエラーがでました。 Logs and troubleshooting | Docker DocumentationすでにWSL…

Docker for WindowsにUbuntu 20.04LTSをいれる

Ubuntu20LTS最小構成 PowerShellで $ docker pull ubuntu:20.04素の状態だと、端末のみの最小構成なので色々入れないといけません。 p:plain] VNC越しでGUI実行できるUbuntu 20LTS 執筆時点で20.04系が最新版なので、自動読み込みされるlatestで大丈夫 docke…

Docker for Windowsを導入する

とあるデモ会でDockerをWindows11環境に入れる機会があったので、えっも 実際のところ Install Docker Desktop on Windows | Docker Documentationより、Dockerのインストーラーを入手 起動すると、何やら可愛げな絵と共に利用規約が。無事インストールが終…

【読書メモ】Dockerに手を出そうとして挫折した「プログラマ」は、まず最低限触ってみるところからリスタートしてみよう

Dockerに手を出そうとして挫折した「プログラマ」は、まず最低限触ってみるところからリスタートしてみよう作者:ミラーマンズ研究所Amazon

dockerコンテナ内のgrafanaに後付けでプラグインを入れる

実際のところ SQLIite3の執筆時点最新版3.0.1を入れる前回の手順通りにdockerコンテナ内のbashに接続します。 bash-5.1$ VERSION=3.0.1 bash-5.1$ echo $VERSION 3.0.1 bash-5.1$ grafana-cli --pluginUrl https://github.com/fr-ser/grafana-sqlite-datasou…

dockerのコンテナ内部でbash環境で作業する

実際のところ "CONTAINERNAME"という名前(IDでも可)の場合 "docker exec"コマンドを実行 "-i"が対話シェル、"-t"がttyのオプションなので $ docker exec -it $CONTAINERNAME /bin/bash bash-5.1$grafanaであれば、こんな感じに bash-5.1$ ls LICENSE README.…

dockerで立ち上げ中のコンテナ情報をみる

実際のところ dockerのcontainerサブコマンドで"ls -a"としてやると一通りの情報がでます。 $ docker container ls -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5edc0e398bb7 grafana/grafana-oss "/run.sh" 42 seconds ago Up 41 seconds 0.…

grafanaとrestreamerで配信

公式がdockerでの環境構築推しなので…… docker run -d --restart always \ --name restreamer \ -e "RS_USERNAME=user" -e "RS_PASSWORD=pass" -e "RS_MODE=USBCAM" \ -p 9696:9696 \ -v /mnt/restreamer/db:/restreamer/db \ --device /dev/video0:/dev/vid…

docker on Raspi4B にGrafanaをいれる

実際のところ 安定版を普通にいれる docker run -d -p 3000:3000 grafana/grafana-oss パッケージもいれる PLG1とPLG2をいれたいときは '-e "GF_INSTALL_PLUGINS=PLG1,PLG2"'この例では欲しいパッケージは”speakyourcode-button-panel”のみ $ docker run -d …

Raspberry Pi 4B+ にdockerを導入する

今の若者の間で常識になっているらしいコンテナ環境。 その中で有名ドコロであるDockerを 実際のところ sudo apt-get update && sudo apt-get upgradecurl -fsSL https://get.docker.com -o get-docker.shsudo sh get-docker.sh更に、ユーザーグループdocker…