远程连接 Docker 的 MySQL 服务

docker pull mysql
docker run --name mysql -p 3306:3306 -e MYSQL_DATABASE="test" -e MYSQL_USER="mysql" -e MYSQL_PASSWORD="123456" -e MYSQL_ROOT_PASSWORD="123456" mysql
docker exec -it mysql /bin/bash
mysql -uroot -p123456

如果需要远程登录的(远程连接用密码123456),需要执行授权命令:
GRANT ALL ON *.* TO 'root'@'%';
grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; (使用navicat 连接 mysql 8.0.11 报 "2059 - authentication plugin 'caching_sha2_password' ...")
FLUSH PRIVILEGES;

远程连接的客户机(宿主机)访问DOCKER的服务,地址可以是本机的局域网地址,如果断开网线,可以使用环回网卡地址(端口3306)

环境变量
当启动mysql容器时,我们可以向docker run命令传入一或多个环境变量来调整MySQL实例的配置。可设置的环境变量有:
MYSQL_ROOT_PASSWORD:必须。用于设置MySQLroot用户的密码
MYSQL_DATABASE:可选。用于指定镜像启动容器时要创建的数据库。如果提供了用户/密码,则会将该用户做为此数据库的超级用户。
MYSQL_USER,MYSQL_PASSWORD:可选。用于创建一个新用户并设置密码。
MYSQL_ALLOW_EMPTY_PASSWORD:可选。设置为yes时,则可以使用空密码登录
MYSQL_RANDOM_ROOT_PASSWORD:可选。设置为yes时会为root用户设置一个随机密码(使用pwgen),所生成的随机密码会被输出到stdout
MYSQL_ONETIME_PASSWORD:可选。为root用户指定一个一次性密码,该密码会在用户首次登录时强制修改

{
    "debug": true,
    "experimental": false,
    "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://mhpxrekw.mirror.aliyuncs.com",
    "https://docker.mirrors.ustc.edu.cn"
    ]
}

https://www.jianshu.com/p/e5c056baa8ab
kubectl apply -f kubernetes-dashboard.yaml

http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/#!/overview?namespace=default

$TOKEN=((kubectl -n kube-system describe secret default | Select-String "token:") -split " +")[1]
kubectl config set-credentials docker-desktop --token="${TOKEN}"
echo $TOKEN

原文地址:https://www.cnblogs.com/chriskwok/p/12531654.html