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文字セットを指定します
--Collation-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