Docker

Docker install

Docker Desktop ダウンロード

以下から Docker Desktop をダウンロード

対応するOSのDockerをダウンロードしてください

Docker install

管理者として実行

Docker 起動

再起動後エラー

Linux カーネル更新プログラム パッケージをダウンロードする

「https://aka.ms/wsl2kernel」をURLに入力し、以下のピンク枠をクリックし「wsl_update_x64.msi」をダウンロードする

wsl_update_x64.msi

wsl_update_x64.msi を実行する

チュートリアル

コンテナーとして実行するためのGitをクローンする

青いボタンを押すとDockerコマンドが実行され、Gitがクローンされる

PS C:\Users\user> docker run --name repo alpine/git clo
ne https://github.com/docker/getting-started.git
Unable to find image 'alpine/git:latest' locally
latest: Pulling from alpine/git
3d2430473443: Pull complete
3cede86c7d99: Pull complete
5d60e16cf3af: Pull complete
eed811f041bf: Pull complete
Digest: sha256:1283cf559e7fa83951f25b292394dc7bac783e12e2c03
53ddda8e3c51583d10f
Status: Downloaded newer image for alpine/git:latest
Cloning into 'getting-started'...
PS C:\Users\user> docker cp repo:/git/getting-started/ 

Dockerイメージは、コンテナー専用のプライベートファイルシステムです。コンテナに必要なすべてのファイルとコードを提供します。

PS C:\Users\user> cd getting-started 
PS C:\Users\user\getting-started>  docker build -t dock
er101tutorial .
[+] Building 35.6s (23/24)
 => [internal] load build definition from Dockerfile   0.1s 
 => => transferring dockerfile: 1.12kB                 0.0s 
 => [internal] load .dockerignore                      0.1s 
 => => transferring context: 52B                       0.0s 
 => [internal] load metadata for docker.io/library/ng  3.4s 
 => [internal] load metadata for docker.io/library/py  3.2s 
 => [internal] load metadata for docker.io/library/no  3.3s 
 => [internal] load build context                      0.2s 
 => => transferring context: 10.47MB                   0.1s 
 => [stage-6 1/3] FROM docker.io/library/nginx:alpine  3.4s 
 => => resolve docker.io/library/nginx:alpine@sha256:  0.0s 
 => => sha256:44e208ac2000daeff77c27a 1.65kB / 1.65kB  0.0s 
 => => sha256:4b63f6b2255f7933f52e8d8 1.57kB / 1.57kB  0.0s 
 => => sha256:53722defe627853c4f67a74 8.89kB / 8.89kB  0.0s 
 => => sha256:40e059520d199e1a1a25908 2.81MB / 2.81MB  0.5s 
 => => extracting sha256:40e059520d199e1a1a259089077f  0.3s 
 => => sha256:f206cf0d6188016c9a1c85d 7.34MB / 7.34MB  1.8s 
 => => sha256:065a4ca9176e7dbc2df50043aa9 599B / 599B  1.3s 
 => => sha256:67124ec378c3b70408a77c08ac8 892B / 892B  1.5s 
 => => sha256:b17ba2c5bc9faf2b84543090fc3 664B / 664B  1.8s 
 => => sha256:fed8f5509a6a95d0c0cd2a7 1.39kB / 1.39kB  2.1s 
 => => extracting sha256:f206cf0d6188016c9a1c85d531cb  0.6s 
 => => extracting sha256:065a4ca9176e7dbc2df50043aa9f  0.0s 
 => => extracting sha256:67124ec378c3b70408a77c08ac86  0.0s 
 => => extracting sha256:b17ba2c5bc9faf2b84543090fc36  0.0s 
 => => extracting sha256:fed8f5509a6a95d0c0cd2a7bcc92  0.0s 
 => [app-base 1/5] FROM docker.io/library/node:12-alp  6.8s 
 => => resolve docker.io/library/node:12-alpine@sha25  0.0s 
 => => sha256:1d33634fa022e95ffcff0b8 1.43kB / 1.43kB  0.0s 
 => => sha256:24bb9a52c94009b078a4319 1.16kB / 1.16kB  0.0s 
 => => sha256:314ec282a0891b509b09379 6.58kB / 6.58kB  0.0s 
 => => sha256:40e059520d199e1a1a25908 2.81MB / 2.81MB  0.5s 
 => => sha256:3ee146eff338ef49c4cc8a0 2.36MB / 2.36MB  0.6s 
 => => sha256:e640ca4424debd550918f 24.91MB / 24.91MB  2.6s 
 => => extracting sha256:40e059520d199e1a1a259089077  31.4s 
 => => sha256:7a51ccd0399be7010e380861999 451B / 451B  0.9s 
 => => extracting sha256:e640ca4424debd550918f38ba573  1.7s 
 => => extracting sha256:3ee146eff338ef49c4cc8a00a792  0.2s 
 => => extracting sha256:7a51ccd0399be7010e3808619996  0.0s 
 => [base 1/4] FROM docker.io/library/python:alpine@s  4.8s 
 => => resolve docker.io/library/python:alpine@sha256  0.1s 
 => => sha256:9316f0d151250a0b5a6c6bc 1.65kB / 1.65kB  0.0s 
 => => sha256:bd9f7fd93baf921d34f30f5 1.37kB / 1.37kB  0.0s 
 => => sha256:656462f348025c46732c1c3 7.06kB / 7.06kB  0.0s 
 => => sha256:40e059520d199e1a1a25908 2.81MB / 2.81MB  0.4s 
 => => extracting sha256:40e059520d199e1a1a259089077  31.4s 
 => => sha256:4f950178bcecafaa040 667.02kB / 667.02kB  2.2s 
 => => sha256:1d594d4d0bf45cb10c75 12.25MB / 12.25MB  31.9s 
 => => extracting sha256:4f950178bcecafaa0400ab3ea61c  0.3s 
 => => sha256:8e36cd7b5f339ec9c2af84c41c1 232B / 232B  2.7s 
 => => sha256:0b8007321b2d1e8ddf4deaa 2.87MB / 2.87MB  3.2s 
 => => extracting sha256:1d594d4d0bf45cb10c75de0f7661  0.6s 
 => => extracting sha256:8e36cd7b5f339ec9c2af84c41c1f  0.0s 
 => => extracting sha256:0b8007321b2d1e8ddf4deaaa0cc3  0.3s 
 => [base 2/4] WORKDIR /app                            1.6s 
 => [base 3/4] COPY requirements.txt .                 0.3s 
 => [base 4/4] RUN pip install -r requirements.txt    24.1s 
 => [app-base 2/5] WORKDIR /app                        0.1s 
 => [app-base 3/5] COPY app/package.json app/yarn.loc  0.1s 
 => [app-base 4/5] COPY app/spec ./spec                0.1s 
 => [app-base 5/5] COPY app/src ./src                  0.1s 
 => [app-zip-creator 1/4] COPY app/package.json app/y  0.1s 
 => [app-zip-creator 2/4] COPY app/spec ./spec         0.1s 
 => [app-zip-creator 3/4] COPY app/src ./src           0.2s 
 => [app-zip-creator 4/4] RUN apk add zip &&     zip   1.8s 
 => [stage-6 2/3] COPY --from=app-zip-creator /app.zi  0.1s 
 => [build 1/2] COPY . .                               0.3s 
 => ERROR [build 2/2] RUN mkdocs build                 0.8s
------
 > [build 2/2] RUN mkdocs build:
#23 0.678 Traceback (most recent call last):
#23 0.678   File "/usr/local/bin/mkdocs", line 8, in <module
>
#23 0.678     sys.exit(cli())
#23 0.678   File "/usr/local/lib/python3.10/site-packages/cl
ick/core.py", line 1130, in __call__
#23 0.679     return self.main(*args, **kwargs)
#23 0.679   File "/usr/local/lib/python3.10/site-packages/cl
ick/core.py", line 1055, in main
#23 0.679     rv = self.invoke(ctx)
#23 0.679   File "/usr/local/lib/python3.10/site-packages/cl
ick/core.py", line 1657, in invoke
#23 0.680     return _process_result(sub_ctx.command.invoke(
sub_ctx))
#23 0.680   File "/usr/local/lib/python3.10/site-packages/cl
ick/core.py", line 1404, in invoke
#23 0.681     return ctx.invoke(self.callback, **ctx.params)
#23 0.681   File "/usr/local/lib/python3.10/site-packages/cl
ick/core.py", line 760, in invoke
#23 0.681     return __callback(*args, **kwargs)
#23 0.681   File "/usr/local/lib/python3.10/site-packages/mk
docs/__main__.py", line 187, in build_command
#23 0.681     build.build(config.load_config(**kwargs), dirt
y=not clean)
#23 0.681   File "/usr/local/lib/python3.10/site-packages/mk
docs/config/base.py", line 216, in load_config
#23 0.682     from mkdocs.config.defaults import get_schema 
#23 0.682   File "/usr/local/lib/python3.10/site-packages/mk
docs/config/defaults.py", line 1, in <module>
#23 0.682     from mkdocs.config import config_options      
#23 0.682   File "/usr/local/lib/python3.10/site-packages/mk
docs/config/config_options.py", line 8, in <module>
#23 0.682     from mkdocs import utils, theme, plugins      
#23 0.682   File "/usr/local/lib/python3.10/site-packages/mk
docs/theme.py", line 6, in <module>
#23 0.682     from mkdocs.utils import filters
#23 0.682   File "/usr/local/lib/python3.10/site-packages/mk
docs/utils/filters.py", line 13, in <module>
#23 0.682     @jinja2.contextfilter
#23 0.682 AttributeError: module 'jinja2' has no attribute '
contextfilter'
------
executor failed running [/bin/sh -c mkdocs build]: exit code
: 1
PS C:\Users\user\getting-started>

前の手順で作成したイメージに基づいてコンテナを起動します。コンテナを実行すると、マシンの他の部分から安全に分離されたプライベートリソースを使用してアプリケーションが起動します。

PS C:\Users\user\getting-started> docker run -d -p 80:8
0 --name docker-tutorial docker101tutorial
Unable to find image 'docker101tutorial:latest' locally
docker: Error response from daemon: pull access denied for d
ocker101tutorial, repository does not exist or may require '
docker login': denied: requested access to the resource is d
enied.
See 'docker run --help'.
PS C:\Users\user\getting-started>

イメージをDockerHubに保存して共有し、他のユーザーが任意の宛先マシンでイメージを簡単にダウンロードして実行できるようにします。

D:\test2>docker -v
Docker version 20.10.8, build 3967b7d

D:\test2>docker run -d -p 80:80 docker/getting-started
33437824d5a7d4f3fe9114c4843b8cfe06aa8d0b955a63030eb6d92f272ed939

D:\test2>dir
 ドライブ D のボリューム ラベルは ボリューム です
 ボリューム シリアル番号は C4AE-B0F5 です

 D:\test2 のディレクトリ

2021/09/01  00:38    <DIR>          .
2021/09/01  00:38    <DIR>          ..
               0 個のファイル                   0 バイト
               2 個のディレクトリ  66,009,018,368 バイトの空き領域

D:\test2>

Laravel インストール

Laravel公式の開発環境 Laravel Sailがリリース開始

Laravelの開発環境をDockerで構築しようとしたら公式さんがLaravel Sailって素敵ツールを提供してくれていました

docker info
-bash: docker: command not found

Docker のインストールじに管理者としてインストールしていないと、上記のようなエラーが発生することがある。

参考

Docker超入門 Part01 – Dockerを使った開発環境構築

Docker超入門 Part02 – Dockerfileをちゃんと書く

Docker超入門 Part03 – 複数コンテナを動作させる

Docker超入門 Part04 – おわりに

エラー発生

”Docker failed to initialize”というエラー

しばらくDockerを起動していなかったら、

「C:\Users\[ユーザー]\AppData\Roaming\Docker」を削除して、DockerDesktopを再起動する。

「I accept the terms」をチェック後「Accept」をクリック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Mac Version

2021年8月21日

営業職について

2021年9月4日