1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Dockerのインストール(Windows版)

Last updated at Posted at 2022-07-28

初めに

Windows版のDockerのインストール方法についてまとめます。

インストールするにあたりシステム要件を確認してください。

システム要件に関する記事も記載していますんのでよろしければご覧ください。

手順No 方法
手順1 WSL2のインストール
手順2 Dockerのダウンロード
手順3 Dockerのインストール
手順4 DockerでJavaの開発環境を構築してみる

手順1:WSL2のインストール

※事前にWindows Upadateを最新化しておいてください。
WSL2のインストールは以下の公式サイトに沿ってい行っていきます。

管理者権限」で「PowerShell」を起動してください。
image.png

PowerShellの管理者権限の起動の仕方1

「Windowsロゴキー + R」を入力して「powershell」と入力して、Enterを押してください。
image.png
PowerShell」上で以下のコマンドを実行してください。管理者権限用のPowerShellが起動します。

管理者権限起動コマンド
Start-Process PowerShell.exe -Verb runas

PowerShellの管理者権限の起動の仕方2

スタートメニューで、「Windwos Power Shell」と検索して、「管理者として実行する」で起動してください。
image.png

管理者権限で起動したら、以下のコマンドを実行してください。

実行コマンド
wsl --install

image.png
インストールが開始されます。
image.png
PowerShellでのインストールは完了です。
image.png
パソコンの再起動を行ってください。
パソコンの再起動後、再度インストールが行われます。
image.png
image.png

インストールが完了したら、ユーザ名とパスワードを任意のものを設定してください。
image.png

ユーザ名とパスワードの設定
Enter new UNIX username:任意のユーザ名
New password:任意のパスワード
Retype new password:New passwordと同じ

設定が完了すると以下の成功メッセージが表示されます。

passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)
...省略
The list of available updates is more than a week old.
To check for new updates run: sudo apt update


This message is shown once once a day. To disable it please create the
/home/任意のユーザ名/.hushlogin file.

これで、WSL2のインストールは完了です。

手順2:Dockerのダウンロード

以下から、「Docker Desktop on Windows」をダウンロードします。

上記をクリックすると以下の画面に遷移します。
image.png
Docker Desktop for Windows 」をクリックしてください。
image.png
Docker Desktop for Windows 」のクリックと同時に「Docker Desktop Installer.exe」がダウンロードされます。(※数分かかります)
image.png

手順3:Dockerのインストール

手順2でダウンロードしたインストーラを起動してください。
image.png
OK」をクリックしてください。
image.png
インストールが開始されます。
image.png
インストールの完了です。「Close and log out」をクリックしてください。再起動が行われます。
image.png

再起動後Dockerが起動します。
image.png

I accept the terms」にチェックを入れて、「Accept」をクリックしてください。
image.png

Docekr Desktopが起動します。
image.png
×」をクリックしてください。
image.png
Skip tutorial」をクリックしてください。
image.png
以下のように表示されます。
image.png

これで、Dockerのインストールは完了です。

手順4:DockerでJavaの開発環境を構築してみる

以前、Docker、Gradleを使用したJavaの開発環境の構築についてという記事を記載したのでこれに沿って行っていきます。

任意の場所にJavaのプロジェクト作成する場所を用意してください。(本記事では、/home/"ユーザ名"/java に作成することを想定します。)

最低限のファイル・フォルダ構成を用意する以下のバッチをJavaのプロジェクト作成する場所(本記事では、/home/"ユーザ名"/java)に作成してください。
例えば、Ubuntuを起動して対象のディレクトリ(/home/"ユーザ名"/java)にVSCodeを起動(code .)して作成できます。

init.sh
#!/bin/bash
echo -n "任意のプロジェクト名を入力してください:"

read PROJECTNAME

mkdir $PROJECTNAME

touch $PROJECTNAME/Dockerfile

touch $PROJECTNAME/docker-compose.yml

#devcontainer関連を作成
mkdir $PROJECTNAME/.devcontainer

touch $PROJECTNAME/.devcontainer/devcontainer.json

mkdir $PROJECTNAME/src

以下のコマンドで作成したshを実行してください。

シェルの起動コマンド
sudo sh init.sh

プロジェクト名を「docker_java」とします。

任意のプロジェクト名を入力してください:docker_java

このままだとファイルの編集ができないので以下のコマンドで作成したプロジェクトにフル権限を設定します。

権限の設定
sudo chmod -R 777 docker_java

Windowsだとshの実行だとVSCodeの起動でエラーになってしまったので手動で起動してください。

VSCode起動コマンド
cd docker_java
code .

Dockerfile」を以下のようにしてください。(コピペでOK)

Dockerfile
FROM adoptopenjdk/openjdk11

RUN apt-get update
RUN apt-get -y install curl
RUN apt-get -y install zip
RUN curl -s "https://get.sdkman.io" | bash
RUN echo ". $HOME/.sdkman/bin/sdkman-init.sh; sdk install gradle" | bash
WORKDIR /java_project/

docker-compose.yml」を以下のようにしてください。(コピペでOK)

docker-compose.yml
version: '3.6'
services:
  java:
    container_name: java
    build: ./
    tty: true
    volumes:
      - ./src:/java_project/

devcontainer.json」を以下のようにしてください。(コピペでOK)

devcontainer.json
{
    "name": "java_gradle",
    "workspaceFolder": "/java_project",
    "dockerComposeFile": "../docker-compose.yml",
    "settings": { 
        "terminal.integrated.defaultProfile.linux": "/bin/bash",        
    },
    "service": "java", //attachするコンテナはjavaを指定
    "extensions": [
        "vscjava.vscode-java-pack", // JavaExtensionPack
        "gabrielbb.vscode-lombok" //Lombok Annotations Support For VS Code
    ]
}

VSCodeに以下の拡張機能をインストールしておいてください。
image.png

Dockerイメージの作成」コマンドを実行してください。
※sudoを付けないとPermission Denied(権限なし)でエラーになります。パスワードはWSL2インストール時に設定したものです。

Dockerイメージの作成コマンド
sudo docker-compose build

以下のようになれば成功です。

成功
Building java
[+] Building 692.9s (11/11) FINISHED
...省略
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

以下のようなメッセージが出て、「Dockerイメージの作成」ができない場合は一度Docker自体を再起動してください。

エラー
The command 'docker-compose' could not be found in this WSL 2 distro.   
We recommend to activate the WSL integration in Docker Desktop settings.

For details about using Docker Desktop with WSL 2, visit:

https://docs.docker.com/go/wsl2/

停止再起動の方法です。
以下のDockerアイコンで「右クリック」をしてください。
image.png
Quit Docker Desktop」をクリックして、停止できます。
image.png
ショートカットを実行するとDockerが起動します。
image.png

コンテナの作成」コマンドを実行してください。
※sudoを付けないとPermission Denied(権限なし)でエラーになります。パスワードはWSL2インストール時に設定したものです。

Dockerイメージの作成コマンド
sudo docker-compose up -d

以下のようになれば成功です。

成功
Creating network "docker_java_default" with the default driver
Creating java ... done

コンテナ内に入ります。

コンテナ内に入るコマンド
sudo docker exec -it java /bin/bash

Javaバージョン確認コマンドを実行してJavaがインストールされてか確認します。以下のコマンドを実行してください。

Javaバージョン確認コマンド
java -veriosn

以下のようになれば成功です。

成功
openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment Temurin-11.0.16+8 (build 11.0.16+8)
OpenJDK 64-Bit Server VM Temurin-11.0.16+8 (build 11.0.16+8, mixed mode)

Gradleバージョン確認コマンドを実行してGradleがインストールされてか確認します。以下のコマンドを実行してください。

Gradleバージョン確認コマンド
gradle -v

以下のようになれば成功です。

成功
Welcome to Gradle 7.5!

Here are the highlights of this release:
 - Support for Java 18
 - Support for building with Groovy 4
 - Much more responsive continuous builds
 - Improved diagnostics for dependency resolution

For more details see https://docs.gradle.org/7.5/release-notes.html


------------------------------------------------------------
Gradle 7.5
------------------------------------------------------------

Build time:   2022-07-14 12:48:15 UTC
Revision:     c7db7b958189ad2b0c1472b6fe663e6d654a5103

Kotlin:       1.6.21
Groovy:       3.0.10
Ant:          Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM:          11.0.16 (Eclipse Adoptium 11.0.16+8)
OS:           Linux 5.10.16.3-microsoft-standard-WSL2 amd64

Javaのプロジェクトを作成します。以下のコマンドを実行してください。

プロジェクト作成コマンド
gradle init

以下のように選択してください。以下のようになれば成功です。

成功
Welcome to Gradle 7.5!

Here are the highlights of this release:
 - Support for Java 18
 - Support for building with Groovy 4
 - Much more responsive continuous builds
 - Improved diagnostics for dependency resolution

For more details see https://docs.gradle.org/7.5/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Scala
  6: Swift
Enter selection (default: Java) [1..6] 3

Split functionality across multiple subprojects?:
  1: no - only one application project
  2: yes - application and library projects
Enter selection (default: no - only one application project) [1..2] 1

Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Groovy) [1..2] 1

Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] no
Select test framework:
  1: JUnit 4
  2: TestNG
  3: Spock
  4: JUnit Jupiter
Enter selection (default: JUnit Jupiter) [1..4] 1

Project name (default: java_project): app
Source package (default: app): 

> Task :init
Get more help with your project: https://docs.gradle.org/7.5/samples/sample_building_java_applications.html

以下のコマンドを実行してプログラムが実行されるか確認しましょう。

実行コマンド
./gradlew run

Hello World!」が表示されれば成功です。

成功
Downloading https://services.gradle.org/distributions/gradle-7.5-bin.zip
...........10%............20%...........30%............40%...........50%............60%...........70%............80%...........90%............100%

> Task :app:run
Hello World!

BUILD SUCCESSFUL in 5m 51s
2 actionable tasks: 2 executed

デバッグできるか確認しましょう。
VSCodeの左下にある「><」をクリックしてください。
image.png
Reopen in Container Remote-Containers」を選択してください。
image.png
以下のように表示されればコンテナ内入ることは成功です
image.png

Remote Container上の拡張機能は以下のものをインストールされていることを確認してください。もしなければ手動でインストールしてください。
image.png
Java Build Status」が以下のようになるか確認してください。
image.png
上記のようになるとメインメソッドの上あたりに「Run|Debug」が表示されるようになります。
image.png
任意の場所にブレイクポイントを張って「Debug」で実行した際にきるか確認します。
image.png
上記のようにブレイクポイントのところで止まれば成功です。

最後に

ここまで見ていただきありがとうございます。最後にこの記事を投稿するにあたり自身の少し古いWindowsのパソコンにそれぞれインストールしていたのですが「システム要件」が合っていなかったので動作がかなり遅かったです・・・。みなさんは何かをインストールする際にご自身のパソコンのスペックとシステム要件の確認を忘れないようにしてください。一応Dcokerのシステム要件に関する記事も記載していますのでよろしければご覧ください。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?