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 Sailがリリース開始
Laravelの開発環境をDockerで構築しようとしたら公式さんがLaravel Sailって素敵ツールを提供してくれていました
docker info
-bash: docker: command not found
Docker のインストールじに管理者としてインストールしていないと、上記のようなエラーが発生することがある。
参考
Docker超入門 Part01 – Dockerを使った開発環境構築
Docker超入門 Part02 – Dockerfileをちゃんと書く
Docker超入門 Part03 – 複数コンテナを動作させる
エラー発生
”Docker failed to initialize”というエラー
しばらくDockerを起動していなかったら、
「C:\Users\[ユーザー]\AppData\Roaming\Docker」を削除して、DockerDesktopを再起動する。
「I accept the terms」をチェック後「Accept」をクリック