Docker
をテンプレートにして作成
[
トップ
] [
タイトル一覧
|
ページ一覧
|
新規
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
* Docker 備忘録 [#y5b36a8f]
*** see also [#i9ed634e]
- [[Docker]]
- [[Docker Compose]]
- [[Docker Network]]
- [[Docker Swarm]]
- [[Kubernetes]]
- [[Podman]]
**どんなものか [#m8214aa2]
- https://www.docker.com/
- 解説:https://tech-lab.sios.jp/archives/18811
Wiki曰く、「Dockerはソフトウェアコンテナ内のアプリケーシ...
ミドルウェア以上のものをコンテナと呼ばれるもので仮想化す...
よく活用されている場面としては以下に記す。~
1.開発アプリケーションのバージョンアップや開発のとき~
⇒現在のアプリケーション郡をコンテナに収容し、それを...
出来上がった環境をcommit?することで、本番環境へ...
2.運用中のサーバプログラムの更新~
⇒現在動作中のサーバプログラム類をコンテナ化して、そ...
~
- RHEL8(Red Hat Enterprise Linux 8)および CentOS8 から...
** Install [#db912155]
*** CentOS 8 (2021 7/25) [#e8e9cdfb]
# dnf config-manager --add-repo https://download.docker....
# dnf -y install docker-ce docker-ce-cli containerd.io -...
*** CentOS8 入れ直し(21 7/3) [#q7821cf8]
**** リポジトリがあるようなので,それから入れなおす. [#f...
- # rpm -e docker-ce-3:19.03.15
- # rpm -e containerd.io-1.2.6 --force
-- 依存関係が複雑なので,dnf を使う
- # dnf erase containerd.io-1.2.6
# dnf config-manager --add-repo https://download.docker....
# dnf -y install docker-ce docker-ce-cli containerd.io
*** For CentOS8 [#ja91b0de]
- CentOS8では未サポート
-- Docker はネットワークのフィルタリングに [[iptables]] ...
-- CentOS8 では [[nftables]] が使用されている
- %%下記方法とは別に ''dnf module install container-tools...
**** CentOS8 の場合の事前準備 (2020 8/15) [#u8e9f2bb]
- CentOS8のcontainerd.io のバージンが古いので RPM で直接...
# dnf install container-selinux
# wget https://download.docker.com/linux/centos/7/x86_64...
# rpm -ih containerd.io-1.2.6-3.3.el7.x86_64.rpm
- containerd.io が runc と競合する場合は
- runc は containerd.io と被る(同等?)の様
# rpm -e buildah
# rpm -e cockpit-podman
# rpm -e toolbox
# rpm -e podman
# rpm -e containers-common-1-2.module_el8.5.0+890+6b1361...
# rpm -e runc
# rpm -ihv containerd.io-1.2.6-3.3.el7.x86_64.rpm
- Install & Getting Start へ
**** 2023 1/17 CentOS8 の update で Docker が動かなくなっ...
**** もし podman が必要なら containerd.io をインストール...
# yum install podman -y
# yum install toolbox -y
# yum install cockpit-podman -y
# yum install buildah -y
**** 本体の Install & Getting Start [#nae22c6e]
# wget -qO- https://get.docker.com/ | sh
..............
# systemctl enable docker
# systemctl start docker
# docker run hello-world
or
# dnf install docker-ce
# systemctl enable docker
# systemctl start docker
# docker run hello-world
*** CentOS6 [#za65a6da]
- yum install https://get.docker.com/rpm/1.7.1/centos-6/R...
-- chkconfig --level 3 docker on
- 注)ipv6 が OFF だと bridge.ko の読み込みで,シンボル(...
-- Error starting daemon: Error initializing network cont...
-- NSLでは /etc/modprobe.d/dist.conf の最終行をチェック...
** Getting Start [#fedb2239]
*** 使ってみる [#fbf5e0d3]
**** Hello World [#u91eb055]
# docker run hello-world
**** CentOSを使ってみる [#e8e57f9e]
# docker pull centos
# docker images
# docker run -i -t centos /bin/bash
(DockerBash)#
**** CentOSを使ってみる2 [#m1ae3f38]
# docker pull centos:centos7
# docker run -ti -d --name centos7 centos:centos7
# docker exec -it centos7 /bin/bash
[root@fbd5aeb4046a /]#
** [[Local Registry>./Registry]] [#jc169974]
** コマンド [#f867895b]
*** 操作 [#p0316f54]
**** コンテナ [#o6820680]
- コンテナ状況確認
-- docker ps
- コンテナ状況確認(過去の終了したものも含む)
-- docker ps -a
- コンテナから抜ける
-- Ctrl+p, Ctrl+q
- コンテナへの接続を再開する
-- docker attach コンテナID(またはコンテナ名)
--- コンテナ内でシェルが動いていないとダメ.exit で抜ける...
-- docker exec -it コンテナID(またはコンテナ名) bash
--- コンテナでPID=1のプロセスを実行する. exit で抜けても...
- コンテナの削除
-- docker rm コンテナID(またはコンテナ名)
- コンテナを止める
-- docker stop コンテナID(またはコンテナ名)
- 止まっているコンテナを動かす
-- docker start コンテナID(またはコンテナ名)
- コンテナのログを表示
-- docker logs コンテナID(またはコンテナ名)
**** ボリューム(永続ストレージ) [#r22a6562]
- ボリューム一覧
-- docker volume ls
- ボリュームの削除
-- docker volume rm ボリューム名
-- 強制削除には --force を使用する
**** イメージ [#a7c2bb26]
- イメージ一覧
-- docker images
- ダウンロード または 更新
-- docker pull イメージ名(:TAG)
- イメージ削除
-- docker rmi イメージ名
- イメージ名の変更(A->B タグの付け替え)
-- # docker tag A B
-- # docker rmi A
- イメージを保存
-- docker stop コンテナ名
-- docker commit イメージ名
**** 退避と復元 [#y5f89442]
- ファイルシステムの書き出し
-- docker export コンテナID(またはコンテナ名)
-- tar 形式で標準出力に出力される.
-- 例) docker export vyos_netp | ( cd rootfs; tar xfvp -)
- ファイルシステムの読み込み
-- docker import ファイル名(tar形式) イメージ名
-- 例)tar -C rootfs -c . | docker import - vyos_netp:200...
- イメージの保存
-- docker save コンテナID(またはコンテナ名)
-- tar 形式で標準出力に出力される.
-- 例) docker save vyos_netp | ( cd rootfs; tar xfvp -)
- イメージの読み込み
-- docker load
-- tar 形式のイメージを標準入力から入力
-- 例)tar -C rootfs -c . | docker load
**** 使用していない(孤立した)リソースの削除 [#z50def7b]
- システム: docker system prune
- イメージ: docker image prune
- コンテナ: docker container prune --filter "until=24h"
- ボリューム: docker volume prune --filter "label!=keep"
** Tips [#bc9ce347]
*** Health check
- https://docs.docker.com/reference/dockerfile/#healthcheck
- https://knowledge.sakura.ad.jp/6754/
**** Podman
- /usr/bin/podman healthcheck run e7c872ee87560f886a697b5...
- 書式
-- HEALTHCHECK [オプション] CMD "コマンド" || exit 1
-- 例)HEALTHCHECK --interval=5s --timeout=3s CMD curl -f...
-- オプション
--- --interval=DURATION (default: 30s)
--- --timeout=DURATION (default: 30s)
--- --start-period=DURATION (default: 0s)
--- --retries=N (default: 3)
*** ファイル(Volume)共有 [#u078f1a8]
- volume : /var/lib/docker/volumes
-- Podman : /var/lib/containers/storage/volumes
- DB: /var/lib/docker/volumes/metadata.db (PC毎に持つ必...
-- POdman(特殊ファイル): /var/lib/containers/storage/v...
*** none タグのイメージの名前(表示)を消す. [#e82b979d]
- 同じ名前のタグ付きイメージ名を作成し,それを消す.
docker tag 7fe93d9d7854 jupyterhub/singleuser:del ...
docker rmi jupyterhub/singleuser:del
- 名前も none の場合は,docker tag で指定する名前は何でも...
*** 現在の環境が Docker のコンテナなのかを確認する. [#gd...
- '' /.dockerenv'' の存在をチェックする.
*** cockpit-docker [#wae1c7a6]
- https://pkgs.org/download/cockpit-docker
- CentOS8 用は無いが,CentOS7用が使える(要 Python2)
*** Tools [#pecf29e0]
**** Networkの初期化スクリプト [#pc3401bc]
#!/bin/sh
rm -r /var/lib/docker/network/files/*
systemctl restart docker
*** Dockerデーモン(dockerd) のリモート操作 [#zb6259d4]
**** 最善策 [#bd380800]
- リモートとローカルの unix ソケットファイルを ssh でつな...
-- Docker の動いているマシンで,グループ docker に属する...
--- パスワードを設定しておく.起動シェルは要らない.
--- # adduser docker -u 105 -g docker -d /var/lib/docker ...
--- # asswd docker
-- ローカルマシンで以下のコマンドを実行.
--- ssh -fNL /var/run/mdlds.sock:/var/run/docker.sock doc...
--- chgrp apache /var/run/mdlds.sock
--- chmod g+rw /var/run/mdlds.sock
--- コマンド実行時は DOCKER_HOST=unix:///var/run/xxx.sock...
--- [[docker_rsock.sh>./docker_rsock.sh]]
***** ''ボツ'' %%SSH ポートフォワードを使用する.%% [#h0...
- 202.26.150.55で動いている場合
# ssh -fNL localhost:9099:/var/run/docker.sock root@202....
# export DOCKER_HOST=localhost:9099
# docker volume ls
- %%Docker の実効ユーザを root 以外にしておく.%% ムリポ....
- ローカルマシンでは,Dockerデーモンは不要.クライアント...
- ログイン相手を docker グループのユーザにする.
-- でもローカルポートにアクセス可能なら,結局''やばい状況...
***** ''ボツ'' %%docker の通信機能を使用する%% [#g41b43...
- /usr/lib/systemd/system/docker.service
-- ex.) ExecStart=/usr/bin/dockerd -H fd:// -H tcp://202....
-- systemctl daemon-reload
-- systemctl restart docker
- ssh:// を指定するとエラー.man でも -H に ssh は載って...
- よく考えれば,リモートからは無条件でコマンドを受け入れ...
*** Dcoker 内から DNSが引けない (その他のサービスも同様...
- ホストの firewall の影響
- ホストのfirewalld を止めてからイメージを実行
-- ホストの firewall の条件を調べること
- Docker イメージが動いている最中に止めて駄目,=> Docker...
*** /etc/resolv.conf [#vce388d5]
- Docker 内の /etc/resolv.conf は特殊なファイルなので mv ...
** Jupyter [#u471de3a]
*** Docker Images [#uf21b4ef]
**** jupyterhub/singleuser [#k5b135c9]
- https://hub.docker.com/r/jupyterhub/singleuser/
**** jupyter/datascience-notebook [#rabcf16e]
- https://hub.docker.com/r/jupyter/datascience-notebook/
**** jupyter/tensorflow-notebook [#h63a2e3c]
- https://hub.docker.com/r/jupyter/tensorflow-notebook/
**** rattydave/jupyterhub [#p536b876]
- C++, Java, Python, Tensorflow, Julia, SQL, NodeJS, Bash...
- https://hub.docker.com/r/rattydave/jupyterhub
- 重い(10G).非力マシンではタイムアウト(30s)する.
**** joequant/bitstation:latest [#m40761fc]
- C++
- https://hub.docker.com/r/joequant/bitstation/tags?page=...
- これもタイムアウト
*** jupyterhub/singleuser [#k62bfe82]
/opt/conda/bin/conda update --prefix /opt/conda --all -y
apt-get update -y
apt-get upgrade -y
apt-get install vim -y
apt-get install subversion -y
apt-get install make -y
apt-get install automake -y
apt-get install gcc -y
apt-get install zlib1g-dev -y
apt-get install mlocate -y
*** docker commit すると,起動時のオプション(arguments)...
- 次回起動すると,オプションが 2重になる.なんてこったい...
- 起動時のオプションは,イメージ(/var/lib/docker/image/o...
- イメージファイルはテキスト(!?)なので,Cmd[ ] に何が書...
-- "Cmd":["start-notebook.sh","--ip=0.0.0.0","--port=8888...
--- しっかりコマンドが入っている.
-- 流石に直接編集するのは躊躇われる.(一回やってみる?)
--- エディタで直接編集したら,Docker から見えなくなった....
- ちゃんと動くやつの Cmd[ ] を確認して,docker commit 起...
-- jupyter の場合:'' docker commit -c 'CMD ["start-noteb...
--- /etc/passwd と /etc/group も元に戻しておく
*** Trouble [#k8d6e393]
**** Jupyter で色々やっていたらコンテナが続々と自動生成->...
- 何をどうやってもコマンドレベルでは停止しない
# systemctl stop docker
# mv /var/lib/docker /var/lib/docker-
# reboot
- Docker Swarm のせいかも.Swarm から強制離脱すればよかっ...
# docker swarm leave --force
** Trouble Shooting [#gfc999c1]
*** Dockerfile
**** conda-libmamba-solver (libarchive.so.19: cannot open...
- libarchive と libmamba を同じチャンネルからインストール...
$CONDA_HOME/bin/conda install --prefix $CONDA_HOME -c ma...
$CONDA_HOME/bin/conda install --prefix $CONDA_HOME -c ma...
*** 良く分かっていなかった頃のエラーなので,勘違いしてい...
**** docker run実行時のiptablesエラー [#y95fbc1b]
- ネットワーク設定を削除し,docker を再起動する
# \rm -r /var/lib/docker/network/files/*
# systemctl restart docker
**** Dockerfile による RUNで,pipがNewConnectionError を...
- CentOS8 固有のエラーらしい.CentOS8 は Docker 未サポー...
-- Docker は iptables を操作するが,CentOS8では iptables ...
-- Docker の iptables のコマンドが一部失敗している.
-- https://qiita.com/DaichiSasak1/items/11687a3c613c88113...
- 一つの解決法として Proxy サーバを立てると良いみたい
# yum install squid -y
# systemctl enable squid
# systemctl start squid
# firewall-cmd --add-port 3128/tcp --permanent
# filewall-cmd --reload
# vi Dockerfile (pip にオプション --proxy=IPアドレス:31...
- Dockerfile 内の名前解決については以下のRUNコマンドで確...
-- python -c "import socket; print(socket.gethostbyname('...
#br
終了行:
* Docker 備忘録 [#y5b36a8f]
*** see also [#i9ed634e]
- [[Docker]]
- [[Docker Compose]]
- [[Docker Network]]
- [[Docker Swarm]]
- [[Kubernetes]]
- [[Podman]]
**どんなものか [#m8214aa2]
- https://www.docker.com/
- 解説:https://tech-lab.sios.jp/archives/18811
Wiki曰く、「Dockerはソフトウェアコンテナ内のアプリケーシ...
ミドルウェア以上のものをコンテナと呼ばれるもので仮想化す...
よく活用されている場面としては以下に記す。~
1.開発アプリケーションのバージョンアップや開発のとき~
⇒現在のアプリケーション郡をコンテナに収容し、それを...
出来上がった環境をcommit?することで、本番環境へ...
2.運用中のサーバプログラムの更新~
⇒現在動作中のサーバプログラム類をコンテナ化して、そ...
~
- RHEL8(Red Hat Enterprise Linux 8)および CentOS8 から...
** Install [#db912155]
*** CentOS 8 (2021 7/25) [#e8e9cdfb]
# dnf config-manager --add-repo https://download.docker....
# dnf -y install docker-ce docker-ce-cli containerd.io -...
*** CentOS8 入れ直し(21 7/3) [#q7821cf8]
**** リポジトリがあるようなので,それから入れなおす. [#f...
- # rpm -e docker-ce-3:19.03.15
- # rpm -e containerd.io-1.2.6 --force
-- 依存関係が複雑なので,dnf を使う
- # dnf erase containerd.io-1.2.6
# dnf config-manager --add-repo https://download.docker....
# dnf -y install docker-ce docker-ce-cli containerd.io
*** For CentOS8 [#ja91b0de]
- CentOS8では未サポート
-- Docker はネットワークのフィルタリングに [[iptables]] ...
-- CentOS8 では [[nftables]] が使用されている
- %%下記方法とは別に ''dnf module install container-tools...
**** CentOS8 の場合の事前準備 (2020 8/15) [#u8e9f2bb]
- CentOS8のcontainerd.io のバージンが古いので RPM で直接...
# dnf install container-selinux
# wget https://download.docker.com/linux/centos/7/x86_64...
# rpm -ih containerd.io-1.2.6-3.3.el7.x86_64.rpm
- containerd.io が runc と競合する場合は
- runc は containerd.io と被る(同等?)の様
# rpm -e buildah
# rpm -e cockpit-podman
# rpm -e toolbox
# rpm -e podman
# rpm -e containers-common-1-2.module_el8.5.0+890+6b1361...
# rpm -e runc
# rpm -ihv containerd.io-1.2.6-3.3.el7.x86_64.rpm
- Install & Getting Start へ
**** 2023 1/17 CentOS8 の update で Docker が動かなくなっ...
**** もし podman が必要なら containerd.io をインストール...
# yum install podman -y
# yum install toolbox -y
# yum install cockpit-podman -y
# yum install buildah -y
**** 本体の Install & Getting Start [#nae22c6e]
# wget -qO- https://get.docker.com/ | sh
..............
# systemctl enable docker
# systemctl start docker
# docker run hello-world
or
# dnf install docker-ce
# systemctl enable docker
# systemctl start docker
# docker run hello-world
*** CentOS6 [#za65a6da]
- yum install https://get.docker.com/rpm/1.7.1/centos-6/R...
-- chkconfig --level 3 docker on
- 注)ipv6 が OFF だと bridge.ko の読み込みで,シンボル(...
-- Error starting daemon: Error initializing network cont...
-- NSLでは /etc/modprobe.d/dist.conf の最終行をチェック...
** Getting Start [#fedb2239]
*** 使ってみる [#fbf5e0d3]
**** Hello World [#u91eb055]
# docker run hello-world
**** CentOSを使ってみる [#e8e57f9e]
# docker pull centos
# docker images
# docker run -i -t centos /bin/bash
(DockerBash)#
**** CentOSを使ってみる2 [#m1ae3f38]
# docker pull centos:centos7
# docker run -ti -d --name centos7 centos:centos7
# docker exec -it centos7 /bin/bash
[root@fbd5aeb4046a /]#
** [[Local Registry>./Registry]] [#jc169974]
** コマンド [#f867895b]
*** 操作 [#p0316f54]
**** コンテナ [#o6820680]
- コンテナ状況確認
-- docker ps
- コンテナ状況確認(過去の終了したものも含む)
-- docker ps -a
- コンテナから抜ける
-- Ctrl+p, Ctrl+q
- コンテナへの接続を再開する
-- docker attach コンテナID(またはコンテナ名)
--- コンテナ内でシェルが動いていないとダメ.exit で抜ける...
-- docker exec -it コンテナID(またはコンテナ名) bash
--- コンテナでPID=1のプロセスを実行する. exit で抜けても...
- コンテナの削除
-- docker rm コンテナID(またはコンテナ名)
- コンテナを止める
-- docker stop コンテナID(またはコンテナ名)
- 止まっているコンテナを動かす
-- docker start コンテナID(またはコンテナ名)
- コンテナのログを表示
-- docker logs コンテナID(またはコンテナ名)
**** ボリューム(永続ストレージ) [#r22a6562]
- ボリューム一覧
-- docker volume ls
- ボリュームの削除
-- docker volume rm ボリューム名
-- 強制削除には --force を使用する
**** イメージ [#a7c2bb26]
- イメージ一覧
-- docker images
- ダウンロード または 更新
-- docker pull イメージ名(:TAG)
- イメージ削除
-- docker rmi イメージ名
- イメージ名の変更(A->B タグの付け替え)
-- # docker tag A B
-- # docker rmi A
- イメージを保存
-- docker stop コンテナ名
-- docker commit イメージ名
**** 退避と復元 [#y5f89442]
- ファイルシステムの書き出し
-- docker export コンテナID(またはコンテナ名)
-- tar 形式で標準出力に出力される.
-- 例) docker export vyos_netp | ( cd rootfs; tar xfvp -)
- ファイルシステムの読み込み
-- docker import ファイル名(tar形式) イメージ名
-- 例)tar -C rootfs -c . | docker import - vyos_netp:200...
- イメージの保存
-- docker save コンテナID(またはコンテナ名)
-- tar 形式で標準出力に出力される.
-- 例) docker save vyos_netp | ( cd rootfs; tar xfvp -)
- イメージの読み込み
-- docker load
-- tar 形式のイメージを標準入力から入力
-- 例)tar -C rootfs -c . | docker load
**** 使用していない(孤立した)リソースの削除 [#z50def7b]
- システム: docker system prune
- イメージ: docker image prune
- コンテナ: docker container prune --filter "until=24h"
- ボリューム: docker volume prune --filter "label!=keep"
** Tips [#bc9ce347]
*** Health check
- https://docs.docker.com/reference/dockerfile/#healthcheck
- https://knowledge.sakura.ad.jp/6754/
**** Podman
- /usr/bin/podman healthcheck run e7c872ee87560f886a697b5...
- 書式
-- HEALTHCHECK [オプション] CMD "コマンド" || exit 1
-- 例)HEALTHCHECK --interval=5s --timeout=3s CMD curl -f...
-- オプション
--- --interval=DURATION (default: 30s)
--- --timeout=DURATION (default: 30s)
--- --start-period=DURATION (default: 0s)
--- --retries=N (default: 3)
*** ファイル(Volume)共有 [#u078f1a8]
- volume : /var/lib/docker/volumes
-- Podman : /var/lib/containers/storage/volumes
- DB: /var/lib/docker/volumes/metadata.db (PC毎に持つ必...
-- POdman(特殊ファイル): /var/lib/containers/storage/v...
*** none タグのイメージの名前(表示)を消す. [#e82b979d]
- 同じ名前のタグ付きイメージ名を作成し,それを消す.
docker tag 7fe93d9d7854 jupyterhub/singleuser:del ...
docker rmi jupyterhub/singleuser:del
- 名前も none の場合は,docker tag で指定する名前は何でも...
*** 現在の環境が Docker のコンテナなのかを確認する. [#gd...
- '' /.dockerenv'' の存在をチェックする.
*** cockpit-docker [#wae1c7a6]
- https://pkgs.org/download/cockpit-docker
- CentOS8 用は無いが,CentOS7用が使える(要 Python2)
*** Tools [#pecf29e0]
**** Networkの初期化スクリプト [#pc3401bc]
#!/bin/sh
rm -r /var/lib/docker/network/files/*
systemctl restart docker
*** Dockerデーモン(dockerd) のリモート操作 [#zb6259d4]
**** 最善策 [#bd380800]
- リモートとローカルの unix ソケットファイルを ssh でつな...
-- Docker の動いているマシンで,グループ docker に属する...
--- パスワードを設定しておく.起動シェルは要らない.
--- # adduser docker -u 105 -g docker -d /var/lib/docker ...
--- # asswd docker
-- ローカルマシンで以下のコマンドを実行.
--- ssh -fNL /var/run/mdlds.sock:/var/run/docker.sock doc...
--- chgrp apache /var/run/mdlds.sock
--- chmod g+rw /var/run/mdlds.sock
--- コマンド実行時は DOCKER_HOST=unix:///var/run/xxx.sock...
--- [[docker_rsock.sh>./docker_rsock.sh]]
***** ''ボツ'' %%SSH ポートフォワードを使用する.%% [#h0...
- 202.26.150.55で動いている場合
# ssh -fNL localhost:9099:/var/run/docker.sock root@202....
# export DOCKER_HOST=localhost:9099
# docker volume ls
- %%Docker の実効ユーザを root 以外にしておく.%% ムリポ....
- ローカルマシンでは,Dockerデーモンは不要.クライアント...
- ログイン相手を docker グループのユーザにする.
-- でもローカルポートにアクセス可能なら,結局''やばい状況...
***** ''ボツ'' %%docker の通信機能を使用する%% [#g41b43...
- /usr/lib/systemd/system/docker.service
-- ex.) ExecStart=/usr/bin/dockerd -H fd:// -H tcp://202....
-- systemctl daemon-reload
-- systemctl restart docker
- ssh:// を指定するとエラー.man でも -H に ssh は載って...
- よく考えれば,リモートからは無条件でコマンドを受け入れ...
*** Dcoker 内から DNSが引けない (その他のサービスも同様...
- ホストの firewall の影響
- ホストのfirewalld を止めてからイメージを実行
-- ホストの firewall の条件を調べること
- Docker イメージが動いている最中に止めて駄目,=> Docker...
*** /etc/resolv.conf [#vce388d5]
- Docker 内の /etc/resolv.conf は特殊なファイルなので mv ...
** Jupyter [#u471de3a]
*** Docker Images [#uf21b4ef]
**** jupyterhub/singleuser [#k5b135c9]
- https://hub.docker.com/r/jupyterhub/singleuser/
**** jupyter/datascience-notebook [#rabcf16e]
- https://hub.docker.com/r/jupyter/datascience-notebook/
**** jupyter/tensorflow-notebook [#h63a2e3c]
- https://hub.docker.com/r/jupyter/tensorflow-notebook/
**** rattydave/jupyterhub [#p536b876]
- C++, Java, Python, Tensorflow, Julia, SQL, NodeJS, Bash...
- https://hub.docker.com/r/rattydave/jupyterhub
- 重い(10G).非力マシンではタイムアウト(30s)する.
**** joequant/bitstation:latest [#m40761fc]
- C++
- https://hub.docker.com/r/joequant/bitstation/tags?page=...
- これもタイムアウト
*** jupyterhub/singleuser [#k62bfe82]
/opt/conda/bin/conda update --prefix /opt/conda --all -y
apt-get update -y
apt-get upgrade -y
apt-get install vim -y
apt-get install subversion -y
apt-get install make -y
apt-get install automake -y
apt-get install gcc -y
apt-get install zlib1g-dev -y
apt-get install mlocate -y
*** docker commit すると,起動時のオプション(arguments)...
- 次回起動すると,オプションが 2重になる.なんてこったい...
- 起動時のオプションは,イメージ(/var/lib/docker/image/o...
- イメージファイルはテキスト(!?)なので,Cmd[ ] に何が書...
-- "Cmd":["start-notebook.sh","--ip=0.0.0.0","--port=8888...
--- しっかりコマンドが入っている.
-- 流石に直接編集するのは躊躇われる.(一回やってみる?)
--- エディタで直接編集したら,Docker から見えなくなった....
- ちゃんと動くやつの Cmd[ ] を確認して,docker commit 起...
-- jupyter の場合:'' docker commit -c 'CMD ["start-noteb...
--- /etc/passwd と /etc/group も元に戻しておく
*** Trouble [#k8d6e393]
**** Jupyter で色々やっていたらコンテナが続々と自動生成->...
- 何をどうやってもコマンドレベルでは停止しない
# systemctl stop docker
# mv /var/lib/docker /var/lib/docker-
# reboot
- Docker Swarm のせいかも.Swarm から強制離脱すればよかっ...
# docker swarm leave --force
** Trouble Shooting [#gfc999c1]
*** Dockerfile
**** conda-libmamba-solver (libarchive.so.19: cannot open...
- libarchive と libmamba を同じチャンネルからインストール...
$CONDA_HOME/bin/conda install --prefix $CONDA_HOME -c ma...
$CONDA_HOME/bin/conda install --prefix $CONDA_HOME -c ma...
*** 良く分かっていなかった頃のエラーなので,勘違いしてい...
**** docker run実行時のiptablesエラー [#y95fbc1b]
- ネットワーク設定を削除し,docker を再起動する
# \rm -r /var/lib/docker/network/files/*
# systemctl restart docker
**** Dockerfile による RUNで,pipがNewConnectionError を...
- CentOS8 固有のエラーらしい.CentOS8 は Docker 未サポー...
-- Docker は iptables を操作するが,CentOS8では iptables ...
-- Docker の iptables のコマンドが一部失敗している.
-- https://qiita.com/DaichiSasak1/items/11687a3c613c88113...
- 一つの解決法として Proxy サーバを立てると良いみたい
# yum install squid -y
# systemctl enable squid
# systemctl start squid
# firewall-cmd --add-port 3128/tcp --permanent
# filewall-cmd --reload
# vi Dockerfile (pip にオプション --proxy=IPアドレス:31...
- Dockerfile 内の名前解決については以下のRUNコマンドで確...
-- python -c "import socket; print(socket.gethostbyname('...
#br
ページ名: