flagflag  
29: 2021-08-02 (Mon) 09:48:32 iseki source Cur: 2023-05-05 (Fri) 10:17:58 iseki source
Line 1: Line 1:
*Docker 備忘録 [#y5b36a8f] *Docker 備忘録 [#y5b36a8f]
*** see also [#i9ed634e] *** see also [#i9ed634e]
--- [[Docker]] +- [[Docker]] 
--- [[Docker Compose]] +- [[Docker Compose]] 
--- [[Docker Network]] +- [[Docker Network]] 
--- [[Docker Swarm]] +- [[Docker Swarm]] 
--- [[Kubernetes]]+- [[Kubernetes]] 
 +- [[Podman]]
#br #br
Line 63: Line 64:
 # rpm -e toolbox  # rpm -e toolbox
 # rpm -e podman  # rpm -e podman
 + # rpm -e containers-common-1-2.module_el8.5.0+890​+6b136101.noarch  (必要なら)
 # rpm -e runc  # rpm -e runc
 # rpm -ihv containerd.io-1.2.6-3.3.el7.x86_64.rpm  # rpm -ihv containerd.io-1.2.6-3.3.el7.x86_64.rpm
- Install & Getting Start へ - Install & Getting Start へ
 + #br
 +
 +**** 2023 1/17 CentOS8 の update で Docker が動かなくなったので上記の方法で入れ直し.(containerd.io が runc と競合する場合) [#hee294de]
 +
#br #br
 +
**** もし podman が必要なら containerd.io をインストール後に,入れ直す. [#y6d1a036] **** もし podman が必要なら containerd.io をインストール後に,入れ直す. [#y6d1a036]
 # yum install podman -y  # yum install podman -y
Line 86: Line 93:
 # systemctl start docker  # systemctl start docker
 # docker run hello-world  # docker run hello-world
 +#br
 +
 +*** CentOS6 [#za65a6da]
 +- yum install https://get.docker.com/rpm/1.7.1/centos-​6/RPMS/x86_64/docker-engine-1.7.1-1.el6.​x86_64.rpm
 +-- chkconfig --level 3 docker on
 +
 +- 注)ipv6 が OFF だと bridge.ko の読み込みで,シンボル(ipv6_dev_get_saddr)未定義のエラーを起こす.
 +-- Error starting daemon: Error initializing network controller: Error creating default \"bridge\" network: package not installed
 +-- NSLでは  /etc/modprobe.d/dist.conf の最終行をチェック <-- ここで ipv6 を止めている.
#br #br
** Getting Start [#fedb2239] ** Getting Start [#fedb2239]
-*** CentOSを使ってみる [#e8e57f9e]+ 
 +*** 使ってみる [#fbf5e0d3] 
 + 
 +**** Hello World [#u91eb055] 
 + # docker run hello-world 
 +#br 
 + 
 +**** CentOSを使ってみる [#e8e57f9e]
 # docker pull centos  # docker pull centos
 # docker images  # docker images
 # docker run -i -t centos /bin/bash  # docker run -i -t centos /bin/bash
 (DockerBash)#  (DockerBash)#
 +#br
 +
 +**** CentOSを使ってみる2 [#m1ae3f38]
 + # docker pull centos:centos7
 + # docker run -ti -d --name centos7 centos:centos7
 + # docker exec -it centos7 /bin/bash
 + [root@fbd5aeb4046a /]#
 +#br
 +
 +** [[Local Registry>./Registry]] [#jc169974]
#br #br
** コマンド [#f867895b] ** コマンド [#f867895b]
 +
*** 操作 [#p0316f54] *** 操作 [#p0316f54]
**** コンテナ [#o6820680] **** コンテナ [#o6820680]
Line 161: Line 195:
-- tar 形式のイメージを標準入力から入力 -- tar 形式のイメージを標準入力から入力
-- 例)tar -C rootfs -c . | docker load -- 例)tar -C rootfs -c . | docker load
 +#br
 +**** 使用していない(孤立した)リソースの削除 [#z50def7b]
 +- システム: docker system prune
 +- イメージ: docker image prune
 +- コンテナ: docker container prune --filter "until=24h"
 +- ボリューム: docker volume prune --filter "label!=keep"
#br #br
** Tips [#bc9ce347] ** Tips [#bc9ce347]
 +*** ファイル(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/volumes/back​ingFsBlockDev  特に処理する必要はない(と思う)
 +#br
 +
 +*** none タグのイメージの名前(表示)を消す. [#e82b979d]
 +- 同じ名前のタグ付きイメージ名を作成し,それを消す.
 + docker tag  7fe93d9d7854  jupyterhub/singleuser:del    (jupyterhub/singleuser:<none> の場合)
 + docker rmi jupyterhub/singleuser:del
 +#br
 +- 名前も none の場合は,docker tag で指定する名前は何でもよい.
 +#br
 +
*** 現在の環境が Docker のコンテナなのかを確認する. [#gd6a458a] *** 現在の環境が Docker のコンテナなのかを確認する. [#gd6a458a]
- '' /.dockerenv'' の存在をチェックする. - '' /.dockerenv'' の存在をチェックする.
Line 226: Line 282:
#br #br
-** Trouble Shooting [#gfc999c1]+** Jupyter [#u471de3a] 
 +*** Docker Images [#uf21b4ef] 
 +**** jupyterhub/singleuser [#k5b135c9] 
 +- https://hub.docker.com/r/jupyterhub/sing​leuser/ 
 +#br 
 + 
 +**** jupyter/datascience-notebook [#rabcf16e] 
 +- https://hub.docker.com/r/jupyter/datasci​ence-notebook/ 
 +#br 
 + 
 +**** jupyter/tensorflow-notebook [#h63a2e3c] 
 +- https://hub.docker.com/r/jupyter/tensorf​low-notebook/ 
 +#br 
 + 
 +**** rattydave/jupyterhub [#p536b876] 
 +- C++, Java, Python, Tensorflow, Julia, SQL, NodeJS, Bash and more 
 +- https://hub.docker.com/r/rattydave/jupyt​erhub 
 +- 重い(10G).非力マシンではタイムアウト(30s)する. 
 +#br 
 + 
 +**** joequant/bitstation:latest [#m40761fc] 
 +- C++ 
 +- https://hub.docker.com/r/joequant/bitsta​tion/tags?page=1&ordering=last_updated 
 +- これもタイムアウト 
 +#br 
 + 
 +*** 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)まで保存する. [#v7d65576] 
 +- 次回起動すると,オプションが 2重になる.なんてこったい! docker build では大丈夫(そもそも起動していない) 
 +- 起動時のオプションは,イメージ(/var/lib/docker/image/overlay2/imagedb/.​...)に Cmd[ ] に値として保存されている. 
 +- イメージファイルはテキスト(!?)なので,Cmd[ ] に何が書いてあるかわかる. 
 +-- "Cmd":["start-notebook.sh","--ip=0.0.0.0","--port=8888","--notebook-dir=/home/teacher/iseki/jupyt​er","--SingleUserNotebookApp.default_url=/lab​"] 
 +--- しっかりコマンドが入っている. 
 +-- 流石に直接編集するのは躊躇われる.(一回やってみる?) 
 +--- エディタで直接編集したら,Docker から見えなくなった.まあ予想通り. 
 + 
 +- ちゃんと動くやつの Cmd[ ] を確認して,docker commit 起動時に -C オプションで変更可! 
 +-- jupyter の場合:'' docker commit -c 'CMD ["start-notebook.sh"]' jupyter_old jupyter_new'' 
 +--- /etc/passwd と /etc/group も元に戻しておく 
 + 
 +#br 
 + 
 +*** Trouble [#k8d6e393]
**** Jupyter で色々やっていたらコンテナが続々と自動生成->消滅 を繰り返している [#x94b45ca] **** Jupyter で色々やっていたらコンテナが続々と自動生成->消滅 を繰り返している [#x94b45ca]
- 何をどうやってもコマンドレベルでは停止しない - 何をどうやってもコマンドレベルでは停止しない
Line 235: Line 344:
 # docker swarm leave --force  # docker swarm leave --force
#br #br
 +
 +** Trouble Shooting [#gfc999c1]
 +*** 良く分かっていなかった頃のエラーなので,勘違いしているかもしれない [#te98f8c5]
**** docker run実行時のiptablesエラー [#y95fbc1b] **** docker run実行時のiptablesエラー [#y95fbc1b]
Line 241: Line 353:
 # systemctl restart docker  # systemctl restart docker
#br #br
 +
**** Dockerfile による RUNで,pipがNewConnectionError を出す. [#y7ea0619] **** Dockerfile による RUNで,pipがNewConnectionError を出す. [#y7ea0619]
- CentOS8 固有のエラーらしい.CentOS8 は Docker 未サポートだからな~ - CentOS8 固有のエラーらしい.CentOS8 は Docker 未サポートだからな~


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

41 user(s) are online (7 user(s) are browsing xpwiki)

Members: 0
Guests: 41

more...

Access Counter

Today : 2154215421542154
Yesterday : 5790579057905790
Total : 2365495023654950236549502365495023654950236549502365495023654950
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com