Mysql gcloud:使用docker和容器优化的操作系统启动Cloud SQL Auth代理时未找到命令
我正在尝试使用CloudSQLforMySQL实例设置一个CloudSQLAuth代理 我正在遵循这一点,但没有成功 因此,我正在创建一个新的VM实例。创建之后,我将在Cloudshell中运行以下命令Mysql gcloud:使用docker和容器优化的操作系统启动Cloud SQL Auth代理时未找到命令,mysql,docker,google-cloud-platform,Mysql,Docker,Google Cloud Platform,我正在尝试使用CloudSQLforMySQL实例设置一个CloudSQLAuth代理 我正在遵循这一点,但没有成功 因此,我正在创建一个新的VM实例。创建之后,我将在Cloudshell中运行以下命令 gcloud beta compute ssh --zone "europe-west2-c" "nameinstance" --tunnel-through-iap --project "my_project" 据我所知,这允许我
gcloud beta compute ssh --zone "europe-west2-c" "nameinstance" --tunnel-through-iap --project "my_project"
据我所知,这允许我连接到我的实例。然后我运行以下命令:
docker pull gcr.io/cloudsql-docker/gce-proxy:1.19.1
一切都好。然后,当输入gcloud sql instances description Cloud\u sql\u instance\u name
时,我有点不知所措,因为我得到了以下错误gcloud:command not found
当输入docker-run-d\\-p 127.0.0.1:3306:3306\\gcr.io/cloudsql-docker/gce-proxy:1.19.1/cloud\u-sql\u-proxy\\\-instances=sql\u-connection\u-name=tcp:0.0.0.0:3306
我有以下错误docker:reference格式无效。
最终,如果我是对的,我应该能够成功地执行以下命令:运行容器。这就是全部。linux的所有其他功能都已停用,以保持内核较小,减少攻击面,并限制故障点(使用第三方二进制文件,如gcloud)
因此,使用docker(或docker containerd)运行容器
它的工作原理与启动脚本中的相同。如果您登录到VM并希望运行这些命令,请在之前添加一个sudo
,以获得运行二进制文件的权限
因此,您将能够在容器中运行云SQL代理,在容器中运行Gcloud,在容器中运行MySQL客户端。忘记在没有容器的情况下运行某些东西(和
dockerrun
命令)。运行容器时,还要考虑正确重定向端口。1)是否复制并粘贴了一个示例,而忘记了“\`是行继续标记?2) 要安装SDK(gcloud),请执行以下操作:
# interactive mode
docker run -ti google/cloud-sdk:latest gcloud version
# Script mode
docker run --entrypoint gcloud google/cloud-sdk:latest version