WSLの下にdockerをインストールします

WSLの下にdockerをインストールします

この記事では、主にwslサブシステム(Ubuntu 20.04)にdockerをインストールする方法について説明します。

**前提条件:コンピューターにwslサブシステムがインストールされている、インストールチュートリアルはポータルを参照する**

Dockerをインストールする

ルートユーザーsshはLinuxサブシステムに接続し、次のコマンドをコピーして実行します

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

コマンドの実行とインストールが完了するのを待ちます

#查看docker版本号
docker --version

AlibabaCloudの画像ソースを切り替える

Alibaba Cloud Mirror Sourceがアドレスを取得します。ログイン後、左側のメニューで[Mirror Accelerator]を選択して、排他アドレスを表示します。

次に、次のコマンドを実行します

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://zhjxhme4.mirror.aliyuncs.com"]
}
EOF

Dockerを起動します

次のコマンドを実行します

service docker start
docker run hello-world

docker run hello-worldを実行すると、エラーcgroupsが報告されます:cgroupマウント先が見つかりません:不明。

次のコマンドを実行して解決します

sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
service docker restart
docker run hello-world

次の出力が表示された場合は、Dockerコンテナーhello-worldが正常に実行されたことを意味します。

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

docker install mysql

docker pull mysql
docker run --restart=always -p 33006:3306 --name mysql \
    -v /usr/data/mysql/log:/var/log/mysql \
    -v /usr/data/mysql/data:/var/lib/mysql \
    -v /usr/data/mysql/conf:/etc/mysql/conf.d \
    -e MYSQL_ROOT_PASSWORD=123 \
    -d mysql:latest \
    --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci

上記のコマンドを説明する

docker pullmysqlはmysqlの最新イメージをダウンロードします

docker run xxx run dockercontainer

--Restart =常に自動再起動(起動時にWSLを自動的に開始し、wslがdockerサービスを自動的に開始し、dockerがmysqlコンテナーを自動的に開始します)

-p 33006:3306このマシンのポート3306はローカルデータベースによって占有されているため、このマシンのポート33006を使用してdockerのポート3306をマップします。

--Namemysqlはコンテナの名前を指定します

-v / usr / data / mysql / log:/ var / log / mysqlはマウントディレクトリを指定し、左側はwslシステムディレクトリ、右側はDockerコンテナのmysqlディレクトリです。

-e MYSQL_ROOT_PASSWORD = 123ルートパスワードを指定します

-d mysql:latestは、mysql:latestイメージをバックグラウンドで実行することを指定します

--Character-set-server = utf8mb4はmysql文字セットを指定します

--Collat​​ion-server = utf8mb4_unicode_ciは、MySQLサーバーレベルで文字セットを指定します

mysqlに接続します

接続ツール

dbeaverをお勧めします、それは無料です、そしてインターフェースはかなり良いです、ポータルをダウンロードしてください

接続プロパティを構成し、ドライバーをダウンロードしてから、ドライバープロパティでallowPublicKeyRetrieval = TRUEを指定して接続します


スプリングブートプログラム接続

以下の点に注意する必要があります

  • driver-class-name = com.mysql.cj.jdbc.Driver
  • IPアドレスをURLに書き込むことはできません。ドメイン名(localhost)に置き換える必要があります。
  • useSSL = falseを指定する必要があります

URLアドレスの例は次のとおりです。

jdbc:mysql://localhost:33006/sample?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&useInformationSchema=true

おすすめ

転載: blog.csdn.net/l229568441/article/details/106964616