cil*_*hex 5 google-compute-engine google-cloud-platform
我可以成功地做到这一点:
gcr.io/my-project/my-container)我现在正在尝试更复杂的构建,我认为下一步是使用 Google Compute Engine。
首先,我只是尝试部署我部署到 Cloud Run 的同一应用程序的单个实例:
Compute Engine > VM Instancesgcr.io/my-project/my-container
GCE 创建它需要一分钟,然后它会显示绿色复选标记和实例名称,以及“外部 IP:35.238.xxx.xxx”。我在浏览器中访问该 URL 并得到...“35.238.xxx.xxx 拒绝连接。”
为了进行检查,我返回 GCE 页面并选择我的实例旁边的“SSH > 在浏览器窗口中打开”,这会向机器打开一种云终端。
在此终端窗口中,键入ps并查看没有进程正在运行。容器Dockerfile以 结尾CMD yarn start:prod,所以我想这不会发生在这里。
此外,我ls在这里和那里四处导航,发现/app我Dockerfile的WORKDIR /app命令中没有目录。似乎不仅我的应用程序没有启动,而且容器没有复制到 VM 实例?
我究竟做错了什么?
我决定遵循在新的虚拟机实例上部署容器。
\n\n请在下面找到我的步骤和命令:
\n\ngcr.io/cloud-marketplace/google/nginx1:latest创建一个新的VM来运行带有网络标签的Docker镜像 http-server:
$ gcloud compute instances create-with-container instance-3 --tags=http-server,https-server --container-image=gcr.io/cloud-marketplace/google/nginx1:latest\nCreated [https://www.googleapis.com/compute/v1/projects/test-prj/zones/europe-west3-a/instances/instance-3].\nNAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS\ninstance-3 europe-west3-a n1-standard-1 10.156.0.30 35.XXX.111.XXX RUNNING\nRun Code Online (Sandbox Code Playgroud)创造新的防火墙规则:
\n\n$ gcloud compute firewall-rules create default-allow-http --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server\nCreating firewall...\xe2\xa0\xb9\nCreated [https://www.googleapis.com/compute/v1/projects/test-prj/global/firewalls/default-allow-http]. \nCreating firewall...done. \nNAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED\ndefault-allow-http default INGRESS 1000 tcp:80 False\nRun Code Online (Sandbox Code Playgroud)检查当前的防火墙规则:
\n\n$ nmap -Pn 35.XXX.111.XXX\nStarting Nmap 7.70 ( https://nmap.org ) at 2020-04-02 12:04 CEST\nPORT STATE SERVICE\n...\n80/tcp open http\nRun Code Online (Sandbox Code Playgroud)检查 NGINX 是否正在容器中运行:
\n\n$ curl -I http://35.XXX.111.XXX\nHTTP/1.1 200 OK\nServer: nginx/1.16.1\n...\n\n$ curl http://35.XXX.111.XXX \n...\n<h1>Welcome to nginx!</h1>\n... \nRun Code Online (Sandbox Code Playgroud)也可通过网络浏览器访问http://35.XXX.111.XXX
\n\n检查容器的状态:
\n\n$ gcloud compute ssh instance-3\n...\ninstance-3 ~ $ docker ps\nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\n...\na657c8871239 gcr.io/cloud-marketplace/google/nginx1:latest "/usr/local/bin/dock\xe2\x80\xa6" 14 minutes ago Up 14 minutes klt-instance-3-uwtu\nRun Code Online (Sandbox Code Playgroud)连接到容器并运行curl http://35.XXX.111.XXX在单独的终端中运行:
instance-3 ~ $ docker attach a657c8871239\nYY.YY.43.203 - - [02/Apr/2020:10:18:06 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.64.0" "-"\nYY.YY.43.203 - - [02/Apr/2020:10:18:07 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.64.0" "-"\nRun Code Online (Sandbox Code Playgroud)我在遵循文档时没有发现错误。
\n\n解决您的问题:
\n\n\n\n如果您仍然遇到问题 - 使用您的所有步骤、命令和输出更新您的问题。
\n| 归档时间: |
|
| 查看次数: |
1552 次 |
| 最近记录: |