docker入門の入門　9つの壁。docker(17) 

dockerを利用するのにいくつか壁がある。

20210808 

Docker上のみでシステムを作るときの構成
https://qiita.com/official-events/339b6440dbd578f4f66f
参加するにあたって追記します。

 <この項は書きかけです。順次追記します。>
# 第一の壁　導入
## Windows
### Hyper-V
Windowsだと、Hyper-Vが無効になっていると導入できない。
### 64 bit Windows 10 Pro (1607 Anniversary update, Build 14393 or later) 
Windows 10 homeだと、そのままでは下記エラーで止まる。
![docker2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51423/9fa2fce1-1ff8-54b4-5ceb-ad3574fbfb47.png)

「WSL 2」は「Windows 10 Home」でも利用可能 ～MicrosoftがFAQを掲載
https://forest.watch.impress.co.jp/docs/news/1184353.html

### 64bit
Install Docker Toolbox on Windows
https://docs.docker.com/toolbox/toolbox_install_windows/

## macOS
macOSだと　brew で導入できる。

```shell-session:macOS
$ brew cask install docker
```

## Linux(Debian, ubuntu...)
Debian系Linuxだと aptで導入できる。

```shell-session:ubuntu
# apt install docker
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  libbsd0 libglib2.0-0 libglib2.0-data libicu60 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxml2
  multiarch-support shared-mime-info xdg-user-dirs
The following NEW packages will be installed:
  docker libbsd0 libglib2.0-0 libglib2.0-data libicu60 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6
  libxml2 multiarch-support shared-mime-info xdg-user-dirs
0 upgraded, 14 newly installed, 0 to remove and 18 not upgraded.
Need to get 11.2 MB of archives.
After this operation, 44.6 MB of additional disk space will be used.
```

# 第二の壁 Docker hub
docker hubにブラウザで接続するとダウンロードできる状態で、
コマンドでdocker hubに push, runしようとしてエラーがでることがある。

コマンドでloginすれば大丈夫。

docker(8) 今日の error:解決
https://qiita.com/kaizen_nagoya/items/90d1443c11bebd564aa1

docker(15)今日のdocker error:denied: requested access to the resource is denied
https://qiita.com/kaizen_nagoya/items/fae512ef5e0c04dabc25

同じエラーの記事を２つ書いてしまった。標題にエラーを入れた方がよいというのが教訓。

docker(4)docker hub とQiita
https://qiita.com/kaizen_nagoya/items/798358bba382d693e391

# 第三の壁　docker アプリが起動していない
しばらくdockerを利用していないと、dockerコマンドがエラーになる。

docker アプリを起動すればよい。

docker(14)今日のdocker error:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
https://qiita.com/kaizen_nagoya/items/687690a3d44a92a47462

# 第四の壁　ディスクいっぱい
いっぱいdockerを利用していてimagesでハードディスクがいっぱいで、dockerが動かなくなる。
docker imagesを消せばよい。

```macOS:bash
docker ps 
```
で、いくつdocker imagesが残っているか。

いい記事があった。

@shinespark Docker for Macを使っていたら50GB位ディスク容量を圧迫していたのでいろんなものを削除する
https://qiita.com/shinespark/items/526b70b5f0b1ac643ba0

# 第五の壁　docker images が消えない。
docker imagesがうまく消えない。

いろいろなエラーがある。docker -rmiする前に、docker -rmしないといけないことがある。

docker(9) rmiのための順番
https://qiita.com/kaizen_nagoya/items/0bc05d08cf18af4a8801

docker(10) error 三度目の正直
https://qiita.com/kaizen_nagoya/items/a6a0d66e3e47601e6c93

今日のdocker error: docker rmi （解決）:docker(115)
https://qiita.com/kaizen_nagoya/items/b8bf216596f01a2c2679

# 第六の壁 docker-compose
自分で一からdocker composeしたことありません。

macOSでGCCのクロスコンパイラの生成あがめんどうくさく、同僚に作ってもらったdockerfile/docker-composeの手順を踏んでいるだけ。壁を乗り越えるには、自分で作らないこと。

Dockerをどっかーらどうやって使えばいいんでしょう。TOPPERS/FMP on RaspberryPi with Macintosh編 ５つの関門。「名古屋のIoTは名古屋のOSで」。docker (37)
https://qiita.com/kaizen_nagoya/items/9c46c6da8ceb64d2d7af

docker-compose
https://qiita.com/u_h/items/7cf161f1cc39d8a0c67d

# 第七の壁 dockerfiles
同上。壁を乗り越えるには、自分で作らないこと。

Dockerfileについて
https://qiita.com/tanan/items/e79a5dc1b54ca830ac21

# 第八の壁 port
portの指定は、dockerを起動するときに-pでやればいいことはそれなりにすぐに分かった。
特に、JupiterNotebookを利用する例で経験。

docker -p, 画面表示 。docker(3)
https://qiita.com/kaizen_nagoya/items/a353862ec69fccce8bc2

docker-compose up-d でport is already allocatedエラー
https://qiita.com/ban_3/items/6a0258f8882f747c4a03

# 第九の壁　GUI
上記。まだ、うまくいってない。

# 参考資料(reference)
【Docker超入門】DockerでつくるLaTeX環境
https://qiita.com/nontangent/items/579daf033a4644f2285a

## Windows
Docker for Windows + Windows Subsystem for Linux (WSL) で Docker
https://qiita.com/ma2saka/items/911897add1c1af2951d0

Windows10 × Docker for Windows トラブルシューティング
https://qiita.com/takeru08ma/items/7878a293c55a9902f404

## macOS
homebrew caskでDocker for Macインストール
https://qiita.com/t-okushima/items/062c3eb380e58b85f134

Homebrewでdockerをインストール
https://qiita.com/yuzukaki/items/df19be23ecfa87c40121

macのDockerが遅い。cachedやdelegatedでも遅い。
https://qiita.com/amaike/items/d6210767d13ab4368f75

## Raspberry PI
Dockerとラズパイで迫撃砲（簡単開発支援サーバ）
https://qiita.com/MoriokaReimen/items/7d57c957aca66d16b3e7

## html
dockerとcloudflareを使ってWebサイトを簡単にSSL化対応（ワイルドカード証明書） & 面倒な証明書更新も自動化してみた
https://qiita.com/nomunomu0504/items/c1cde0466f551096354c

## 自己参照
あなたもdocker, 私もdocker。docker(130)
https://qiita.com/kaizen_nagoya/items/8f2746f10f30b575d0a8

技術書「Rubyソースコード完全解説」 と 「docker で ruby」構築
https://qiita.com/kaizen_nagoya/items/a00fec16fb43e6e9071d

Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

C++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding Rules(0) C Secure , MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

小川清最終講義、小川清最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

 ＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
# 文書履歴(document history)
ver. 0.01 初稿 20190622 午前
ver. 0.02 参考資料追記 20190622 午後
ver. 0.03 Mac docker資料追記 20210808 午後4時
ver. 0.04 Raspberry PI資料追記 20210808 午後５時
ver. 0.05 @shinespark 「Docker for Macを使っていたら50GB位ディスク容量を圧迫していたのでいろんなものを削除する」追記 20211105 午後６時
ver. 0.06 @nontangent「【Docker超入門】DockerでつくるLaTeX環境」追記 20211105 午後７時
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
####  Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.

<a href="https://b.hatena.ne.jp/entry/s/qiita.com/kaizen_nagoya/items/e73ceab051a5556a652c" class="hatena-bookmark-button" data-hatena-bookmark-layout="basic-label-counter" data-hatena-bookmark-lang="ja" title="このエントリーをはてなブックマークに追加"><img src="https://b.st-hatena.com/images/v4/public/entry-button/button-only@2x.png" alt="このエントリーをはてなブックマークに追加" width="20" height="20" style="border: none;" /></a><script type="text/javascript" src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>
https://b.hatena.ne.jp/guide/bbutton