<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Artifact Registry - 東東 GCP 教學 - GCP 實戰講師</title>
	<atom:link href="https://dongdonggcp.com/tag/artifact-registry/feed/" rel="self" type="application/rss+xml" />
	<link>https://dongdonggcp.com</link>
	<description>助你考取證照，轉職成功</description>
	<lastBuildDate>Sun, 20 Jul 2025 08:39:07 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://dongdonggcp.com/wp-content/uploads/2025/04/cropped-340838097_121391010914395_5443948698124160121_n-32x32.jpg</url>
	<title>Artifact Registry - 東東 GCP 教學 - GCP 實戰講師</title>
	<link>https://dongdonggcp.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>儲存容器映像檔的 Artifact Registry 簡介與上傳 Docker 映像檔教學</title>
		<link>https://dongdonggcp.com/2025/07/20/artifact-registry-tutorials/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=artifact-registry-tutorials</link>
					<comments>https://dongdonggcp.com/2025/07/20/artifact-registry-tutorials/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Sun, 20 Jul 2025 08:18:56 +0000</pubDate>
				<category><![CDATA[無伺服器]]></category>
		<category><![CDATA[Artifact Registry]]></category>
		<category><![CDATA[Container]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Docker Image]]></category>
		<category><![CDATA[Nodejs]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=11173</guid>

					<description><![CDATA[<p>Artifact Registry 是 Google Cloud 中專門的容器映像檔儲存庫，除了 Docker 映像外，還支援 Maven Artifacts（Java）、Npm Packages、Python Packages、Helm Charts 等等。</p>
<p>The post <a href="https://dongdonggcp.com/2025/07/20/artifact-registry-tutorials/">儲存容器映像檔的 Artifact Registry 簡介與上傳 Docker 映像檔教學</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">Artifact Registry 簡介</h2>



<p class="wp-block-paragraph"><a href="https://www.googleadservices.com/pagead/aclk?sa=L&amp;ai=DChsSEwirsLTv_8qOAxXG2kwCHfITEJUYACICCAEQABoCdG0&amp;ae=2&amp;aspm=1&amp;co=1&amp;ase=2&amp;gclid=CjwKCAjwp_LDBhBCEiwAK7FnkhBSGGOAMvfHjawzthiFks7mErP8ixTosby2sEBJ0rz1lMGqoZSP2hoCfmAQAvD_BwE&amp;ohost=www.google.com&amp;cid=CAESV-D27f6HJLfY8fRQo7vyEJc-amuEDVvDvj7wVTm5UcHc2tc7-ZWroRb6nEiYHrpBHGo0vZXo4tcWYIOvM2iBxdUY17ArpWhXU9tGYG691bXGAlbxMry-5w&amp;category=acrcp_v1_47&amp;sig=AOD64_0OiELFeAQRJRqxZXvfz8ZOPSb8VQ&amp;q&amp;nis=4&amp;adurl&amp;ved=2ahUKEwjL0a_v_8qOAxUch68BHYbNGZkQ0Qx6BAgOEAE" target="_blank" rel="noopener" title="">Artifact Registry </a>是 Google Cloud 中專門的容器映像檔儲存庫，當時在 Artifact Registry 推出之前，己經有 Container Registry，但 Container Registry 只支援 <a href="https://www.docker.com/" target="_blank" rel="noopener" title="">Docker</a> 映像檔，並且功能較為簡單，也沒有細緻的權限管理機制，所以 Google 在 2020 年推出 Artifact Registry，作為 Container Registry 的全面升級。</p>



<p class="wp-block-paragraph">Artifact Registry 除了 Docker 映像外，還支援 Maven Artifacts（Java）、Npm Packages、Python Packages、Helm Charts 等等。</p>



<h2 class="wp-block-heading">建立容器映像檔示範</h2>



<h3 class="wp-block-heading">準備 Nodejs 程式檔案</h3>



<p class="wp-block-paragraph">接著我們就開始打造一個容器映像檔，並上傳到 Artifact Registry 吧！</p>



<p class="wp-block-paragraph">首先我們一樣開啟 Cloud Shell，建立一個資料夾例如 nodejs01，然後先建立第一個檔案 server.js</p>



<pre class="wp-block-code"><code>var http = require('http');
var handleRequest = function(request, response) {
  response.writeHead(200);
  response.end("Hello World from Dongdong Nodejs!!");
}
var www = http.createServer(handleRequest);
www.listen(8080);
</code></pre>



<p class="wp-block-paragraph">然後測試程式能否運作，輸入 node server.js，可以點擊預覽網頁的按鈕，看看網頁是否秀出內容：</p>



<figure class="wp-block-image aligncenter size-large"><img fetchpriority="high" decoding="async" width="1024" height="495" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-1-程式執行和預覽-1024x495.png" alt="" class="wp-image-11174" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-1-程式執行和預覽-1024x495.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-1-程式執行和預覽-300x145.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-1-程式執行和預覽-768x371.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-1-程式執行和預覽-1536x742.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-1-程式執行和預覽.png 1884w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">執行 Nodejs 程式並預覽網頁</figcaption></figure>



<h3 class="wp-block-heading">準備 Dockerfile</h3>



<p class="wp-block-paragraph">如果確認沒問題，再按下 ctrl + C 取回游標，接著準備第二個檔案 Dockerfile 內容如下：</p>



<pre class="wp-block-code"><code>FROM node:6.9.2
EXPOSE 8080
COPY server.js .
CMD node server.js
</code></pre>



<p class="wp-block-paragraph">Dockerfile 是說明檔，告訴 Docker 要如何打包這個 Image，包含這個容器使用什麼程式語言、對外開放哪個 Port、程式的檔案在哪裡、用什麼指令來跑程式等等。</p>



<p class="wp-block-paragraph">現在我們已經準備好兩個檔案如下：</p>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="981" height="230" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-2-確認目前準備好兩個檔案.png" alt="" class="wp-image-11175" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-2-確認目前準備好兩個檔案.png 981w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-2-確認目前準備好兩個檔案-300x70.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-2-確認目前準備好兩個檔案-768x180.png 768w" sizes="(max-width: 981px) 100vw, 981px" /><figcaption class="wp-element-caption">確認目前準備好兩個檔案</figcaption></figure>



<h3 class="wp-block-heading">建立 Artifact Registry 存放區</h3>



<p class="wp-block-paragraph">接著我們回到 Google Cloud Console，去 Artifact Registry 建立一個存放區：</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="1024" height="547" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-3-建立-Artifact-Registry-存放區-1024x547.png" alt="" class="wp-image-11176" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-3-建立-Artifact-Registry-存放區-1024x547.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-3-建立-Artifact-Registry-存放區-300x160.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-3-建立-Artifact-Registry-存放區-768x410.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-3-建立-Artifact-Registry-存放區-1536x820.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-3-建立-Artifact-Registry-存放區.png 1865w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">建立 Artifact Registry 存放區</figcaption></figure>



<p class="wp-block-paragraph">我們命名「nodejs-1」，格式選擇 Docker，Region 選在 asia-east1，再按下「建立」。 完成之後就會看到它顯示在存放區的列表：</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="653" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-4-設定名稱、格式和儲存位置-1024x653.png" alt="" class="wp-image-11177" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-4-設定名稱、格式和儲存位置-1024x653.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-4-設定名稱、格式和儲存位置-300x191.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-4-設定名稱、格式和儲存位置-768x490.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-4-設定名稱、格式和儲存位置-1536x980.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-4-設定名稱、格式和儲存位置.png 1682w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">設定映像檔存放區的名稱、格式和儲存位置</figcaption></figure>



<h3 class="wp-block-heading">取得憑證</h3>



<p class="wp-block-paragraph">點擊「設定操作說明」，它會開啟一個視窗，並提供一個 gcloud 指令，把它複製起來，這樣之後才能從 Cloud Shell 直接推送映像檔上去：</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="389" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-5-設定-gcloud-為憑證輔助程式-1024x389.png" alt="" class="wp-image-11178" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-5-設定-gcloud-為憑證輔助程式-1024x389.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-5-設定-gcloud-為憑證輔助程式-300x114.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-5-設定-gcloud-為憑證輔助程式-768x292.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-5-設定-gcloud-為憑證輔助程式-1536x584.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-5-設定-gcloud-為憑證輔助程式.png 1896w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">設定 gcloud 為憑證輔助程式</figcaption></figure>



<p class="wp-block-paragraph">直接將指令貼到 Cloud Shell 並執行，等它完成即可，你會看到它說 gcloud credentials 註冊成功：</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="503" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-6-等待指令執完成-1024x503.png" alt="" class="wp-image-11179" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-6-等待指令執完成-1024x503.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-6-等待指令執完成-300x147.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-6-等待指令執完成-768x377.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-6-等待指令執完成-1536x754.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-6-等待指令執完成.png 1788w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">等待指令執完成</figcaption></figure>



<h3 class="wp-block-heading">建立 Docker 容器映像檔</h3>



<p class="wp-block-paragraph">接下來準備 Docker image 的完整名稱，它同時也是存放在 Artifact Registry 的路徑，格式如下：</p>



<p class="wp-block-paragraph">[位置]/[project-id]/[repo_name]/[image_name]:v1</p>



<p class="wp-block-paragraph">我的映像檔名字就像這樣：</p>



<p class="wp-block-paragraph">asia-east1-docker.pkg.dev/dong-dong-gcp-2-bigquery/nodejs-1/nodejs-web:v1</p>



<p class="wp-block-paragraph">準備好之後，就執行以下指令：</p>



<p class="wp-block-paragraph">docker build -t&nbsp; [位置]/[project-id]/[repo_name]/[image_name]:v1</p>



<p class="wp-block-paragraph">我的範例指令：</p>



<p class="wp-block-paragraph">docker build -t asia-east1-docker.pkg.dev/dong-dong-gcp-2-bigquery/nodejs-1/nodejs-web:v1 .&nbsp;</p>



<p class="wp-block-paragraph">你注意指令最後有一個句點，代表要把當前資料夾 (nodejs01) 內的檔案都打包進這個映像檔。</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="425" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-7-建立容器映像檔-1024x425.png" alt="" class="wp-image-11180" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-7-建立容器映像檔-1024x425.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-7-建立容器映像檔-300x125.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-7-建立容器映像檔-768x319.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-7-建立容器映像檔-1536x638.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-7-建立容器映像檔.png 1866w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">建立容器映像檔</figcaption></figure>



<h3 class="wp-block-heading">測試 Docker Image 運作</h3>



<p class="wp-block-paragraph">我們再直接使用 Image 跑一次容器，確認應用程式正常</p>



<p class="wp-block-paragraph">docker run -d -p [port]:[port] [位置]/[project-id]/[repo_name]/[image_name]:v1</p>



<p class="wp-block-paragraph">我的範例指令：</p>



<p class="wp-block-paragraph">docker run -d -p 8080:8080 asia-east1-docker.pkg.dev/dong-dong-gcp-2-bigquery/nodejs-1/nodejs-web:v1&nbsp;&nbsp;&nbsp;&nbsp;</p>



<p class="wp-block-paragraph">參數 -d ，指的是背景執行</p>



<p class="wp-block-paragraph">參數 -p 8080:8080 ，指的是把主機的 8080 Port 所有流量轉發到 web 這個Container 的 8080 Port</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="70" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-8-確認容器已開始運作-1024x70.png" alt="" class="wp-image-11181" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-8-確認容器已開始運作-1024x70.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-8-確認容器已開始運作-300x21.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-8-確認容器已開始運作-768x53.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-8-確認容器已開始運作-1536x105.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-8-確認容器已開始運作.png 1869w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">確認容器已開始運作</figcaption></figure>



<p class="wp-block-paragraph">然後我們點擊 Cloud Shell 視窗右上角的預覽按鈕，可以看到網頁已經正常顯示：</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="531" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-9-確認能看到網頁-1024x531.png" alt="" class="wp-image-11182" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-9-確認能看到網頁-1024x531.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-9-確認能看到網頁-300x156.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-9-確認能看到網頁-768x398.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-9-確認能看到網頁-1536x797.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-9-確認能看到網頁.png 1677w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">確認能看到網頁</figcaption></figure>



<h3 class="wp-block-heading">停止 Docker 應用程式</h3>



<p class="wp-block-paragraph">確認無誤的話，我們要停止 Container 運作之前，要先查詢目前正在運作 Container 的 ID：&nbsp;</p>



<p class="wp-block-paragraph">docker ps&nbsp;</p>



<p class="wp-block-paragraph">取得 ID 之後，停止指定的 Container</p>



<p class="wp-block-paragraph">docker stop [container-id]</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="233" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-10-停止容器運作-1024x233.png" alt="" class="wp-image-11183" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-10-停止容器運作-1024x233.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-10-停止容器運作-300x68.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-10-停止容器運作-768x175.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-10-停止容器運作-1536x349.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-10-停止容器運作.png 1808w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">停止容器運作</figcaption></figure>



<h2 class="wp-block-heading">推送 Docker Image 到 Artifact Registry</h2>



<p class="wp-block-paragraph">現在就可以正式 Push Docker Image 到 Artifact Registry 了，執行以下指令：</p>



<p class="wp-block-paragraph">docker push [位置]/[project-id]/[repo_name]/[image_name]:v1</p>



<p class="wp-block-paragraph">我的範例指令：</p>



<p class="wp-block-paragraph">docker&nbsp; push asia-east1-docker.pkg.dev/dong-dong-gcp-2-bigquery/nodejs-1/nodejs-web:v1 &nbsp;</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="347" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-11-映像檔推送完成-1024x347.png" alt="" class="wp-image-11184" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-11-映像檔推送完成-1024x347.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-11-映像檔推送完成-300x102.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-11-映像檔推送完成-768x261.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-11-映像檔推送完成-1536x521.png 1536w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-11-映像檔推送完成.png 1851w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">映像檔推送完成</figcaption></figure>



<p class="wp-block-paragraph">我們看到映像檔已經推上去了，我們可以回到 Console 上按重新整理：</p>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="1024" height="621" src="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-12-在-Console-上看到映像檔出現了-1024x621.png" alt="" class="wp-image-11185" srcset="https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-12-在-Console-上看到映像檔出現了-1024x621.png 1024w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-12-在-Console-上看到映像檔出現了-300x182.png 300w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-12-在-Console-上看到映像檔出現了-768x466.png 768w, https://dongdonggcp.com/wp-content/uploads/2025/07/9-3-12-在-Console-上看到映像檔出現了.png 1523w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">在 Artifact Registry 上看到映像檔出現了</figcaption></figure>



<p class="wp-block-paragraph">現在我們有一個映像檔在上面，之後就可以部署到 <a href="https://dongdonggcp.com/2025/07/20/cloud-run-tutorials/" target="_blank" rel="noopener" title="">Cloud Run</a> 或 <a href="https://dongdonggcp.com/2025/07/20/google-kubernetes-engine-tutorials/" title="">Google Kubernetes Engine</a> 囉！</p>



<p class="wp-block-paragraph">影片版教學：</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="[GKE 教學] 031 Artifact Registry 教學，如何在 GCP 上建立第一個 Docker 容器映像檔 Container Image？| 免費下載 GKE 簡報、完整指令和程式碼" width="1200" height="675" src="https://www.youtube.com/embed/6DHUC-MZ34U?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure><p>The post <a href="https://dongdonggcp.com/2025/07/20/artifact-registry-tutorials/">儲存容器映像檔的 Artifact Registry 簡介與上傳 Docker 映像檔教學</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2025/07/20/artifact-registry-tutorials/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[Cloud Run 教學] 如何收集在 Cloud Run 上運作的 Nginx Log？寫入 Cloud Logging</title>
		<link>https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-write-cloud-run-nginx-log-to-cloud-logging</link>
					<comments>https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/#respond</comments>
		
		<dc:creator><![CDATA[東東]]></dc:creator>
		<pubDate>Mon, 17 Jun 2024 13:20:12 +0000</pubDate>
				<category><![CDATA[Google Cloud Platform]]></category>
		<category><![CDATA[Artifact Registry]]></category>
		<category><![CDATA[Cloud Logging]]></category>
		<category><![CDATA[Cloud Run]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[Nginx]]></category>
		<category><![CDATA[容器]]></category>
		<category><![CDATA[無伺服器]]></category>
		<category><![CDATA[無狀態]]></category>
		<guid isPermaLink="false">https://dongdonggcp.com/?p=6499</guid>

					<description><![CDATA[<p>Cloud Run 是無狀態的， 代表它 [&#8230;]</p>
<p>The post <a href="https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/">[Cloud Run 教學] 如何收集在 Cloud Run 上運作的 Nginx Log？寫入 Cloud Logging</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Cloud Run 是無狀態的，</p>



<p class="wp-block-paragraph">代表它的容器重啟之後，</p>



<p class="wp-block-paragraph">容器裡面的 Log 全部消失不見，徹底的無狀態。</p>



<p class="wp-block-paragraph">那我們如果想要除錯，只能看到 Cloud Run 本身的 Log，</p>



<p class="wp-block-paragraph">怕資訊不足，怎麼辦？</p>



<p class="wp-block-paragraph">你又不能直接連進去 Container，</p>



<p class="wp-block-paragraph">因為它又是「無伺服器」的，根本不能連到它 Command Line。</p>



<p class="wp-block-paragraph">怎麼辦呢？</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">其實它是可以設定輸出 Log 的位置的，</p>



<p class="wp-block-paragraph">這裡做一個簡單的範例給大家參考～</p>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">我先在 Cloud Shel l 開一個目錄</p>



<p class="wp-block-paragraph">mkdir nginx</p>



<p class="wp-block-paragraph">cd nginx</p>



<p class="wp-block-paragraph">mkdir write-to-logging</p>



<p class="wp-block-paragraph">cd write-to-logging</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1144" height="144" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31.png?w=1024" alt="" class="wp-image-6502" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31.png 1144w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31-300x38.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31-1024x129.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.30.31-768x97.png 768w" sizes="(max-width: 1144px) 100vw, 1144px" /></figure>



<p class="wp-block-paragraph">在資料夾裡建立3個檔案，各位直接複製貼上就好了：</p>



<p class="wp-block-paragraph">第一個 index.html 首頁檔案</p>



<p class="wp-block-paragraph">vim index.html</p>



<pre class="wp-block-code"><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
    &lt;title&gt;Welcome to Nginx!&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;h1&gt;Success! Dongdong Nginx server is running!&lt;/h1&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre>



<p class="wp-block-paragraph">截圖</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1300" height="304" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08.png?w=1024" alt="" class="wp-image-6504" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08.png 1300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08-300x70.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08-1024x239.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.08-768x180.png 768w" sizes="(max-width: 1300px) 100vw, 1300px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">第二個是 Nginx 的設定檔 </p>



<p class="wp-block-paragraph">vim nginx.conf</p>



<p class="wp-block-paragraph">重點是設定 Nginx 把日志寫到 stdout 和 stderr，</p>



<p class="wp-block-paragraph">然後讓 Cloud Run 自動收集這些 Log 並傳送到 Cloud Logging。</p>



<pre class="wp-block-code"><code>worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

<strong><mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-tertiary-color">    access_log /dev/stdout;
    error_log /dev/stderr;</mark></strong>

    server {
        listen       8080;
        server_name  localhost;

        location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
    }
}</code></pre>



<p class="wp-block-paragraph">截圖</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="794" height="912" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48.png?w=794" alt="" class="wp-image-6506" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48.png 794w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48-261x300.png 261w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.34.48-768x882.png 768w" sizes="(max-width: 794px) 100vw, 794px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">第三個是 Dockerfile</p>



<p class="wp-block-paragraph">vim Dockerfile</p>



<pre class="wp-block-code"><code># Use the official Nginx image from the Docker Hub
FROM nginx:latest

# Copy the Nginx configuration file
COPY nginx.conf /etc/nginx/nginx.conf

# Copy the index.html file to the default Nginx directory
COPY index.html /usr/share/nginx/html/index.html

# Expose the port that Cloud Run will use
EXPOSE 8080

# Start Nginx when the container launches
CMD &#091;"nginx", "-g", "daemon off;"]</code></pre>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">我在自己專案的 Artifact Registry 建立 Repository 為 nginx</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1511" height="556" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1.png?w=1024" alt="" class="wp-image-6510" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1.png 1511w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1-300x110.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1-1024x377.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.42.44-1-768x283.png 768w" sizes="(max-width: 1511px) 100vw, 1511px" /></figure>



<p class="wp-block-paragraph">然後在 Cloud Shel l 建立 Docker Image 名字叫 write-to-logging </p>



<p class="wp-block-paragraph">(dong-dong-gcp-3 請改成你的專案 ID 喔)</p>



<p class="wp-block-paragraph">(注意下面指令有一個句號喔)</p>



<p class="wp-block-paragraph">docker build -t asia-east1-docker.pkg.dev/dong-dong-gcp-3/nginx/write-to-logging .</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2470" height="634" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36.png?w=1024" alt="" class="wp-image-6511" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36.png 2470w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-300x77.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-1024x263.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-768x197.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-1536x394.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.45.36-2048x526.png 2048w" sizes="(max-width: 2470px) 100vw, 2470px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">接下來就把 Image Push 到 Artifact Registry</p>



<p class="wp-block-paragraph">docker push asia-east1-docker.pkg.dev/dong-dong-gcp-3/nginx/write-to-logging</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2282" height="428" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57.png?w=1024" alt="" class="wp-image-6514" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57.png 2282w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-300x56.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-1024x192.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-768x144.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-1536x288.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.46.57-2048x384.png 2048w" sizes="(max-width: 2282px) 100vw, 2282px" /></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">接下來就看到 nginx 這個 repo 有一個新的 Image</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1804" height="806" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15.png?w=1024" alt="" class="wp-image-6515" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15.png 1804w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-300x134.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-1024x458.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-768x343.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.47.15-1536x686.png 1536w" sizes="(max-width: 1804px) 100vw, 1804px" /></figure>



<div style="height:15px" aria-hidden="true" class="wp-block-spacer"></div>



<p class="wp-block-paragraph">如果都沒問題的話，就可以部署到 Cloud Run，</p>



<p class="wp-block-paragraph">如果懶得在 Console 上點，可以直接複製下面的指令 (記得改掉 Project ID 喔 )：</p>



<p class="wp-block-paragraph">gcloud run deploy nginx-logging \<br>&#8211;image asia-east1-docker.pkg.dev/dong-dong-gcp-3/nginx/write-to-logging \<br>&#8211;platform managed \<br>&#8211;region asia-east1 \<br>&#8211;allow-unauthenticated</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1820" height="440" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07.png?w=1024" alt="" class="wp-image-6518" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07.png 1820w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-300x73.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-1024x248.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-768x186.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.50.07-1536x371.png 1536w" sizes="(max-width: 1820px) 100vw, 1820px" /></figure>



<p class="wp-block-paragraph">其實我本來就部署成功了，</p>



<p class="wp-block-paragraph">但我再輸入部署指令時，它不會報錯，</p>



<p class="wp-block-paragraph">只會幫我增加最新的版本，蠻貼心的。</p>



<p class="wp-block-paragraph">接下來看一下 Cloud Run 的 Console：</p>



<p class="wp-block-paragraph">那個 nginx-logging 就是我剛部署的服務，點 &#8220;nginx-logging&#8221; 看看</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1396" height="712" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41.png?w=1024" alt="" class="wp-image-6520" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41.png 1396w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41-300x153.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41-1024x522.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.51.41-768x392.png 768w" sizes="(max-width: 1396px) 100vw, 1396px" /></figure>



<p class="wp-block-paragraph">再點開它的超連結</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1410" height="718" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32.png?w=1024" alt="" class="wp-image-6521" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32.png 1410w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32-300x153.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32-1024x521.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.52.32-768x391.png 768w" sizes="(max-width: 1410px) 100vw, 1410px" /></figure>



<p class="wp-block-paragraph">會看到</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1464" height="390" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44.png?w=1024" alt="" class="wp-image-6523" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44.png 1464w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44-300x80.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44-1024x273.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.53.44-768x205.png 768w" sizes="(max-width: 1464px) 100vw, 1464px" /></figure>



<p class="wp-block-paragraph">代表部署成功了！</p>



<p class="wp-block-paragraph">那要怎麼證明，它的 Log 有寫入 Cloud Logging 呢？</p>



<p class="wp-block-paragraph">我們先故意在網址列尾巴增加 &#8220;?&#8221; 和其他英文數字</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1334" height="502" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1.png?w=1024" alt="" class="wp-image-6534" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1.png 1334w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1-300x113.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1-1024x385.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.37-1-768x289.png 768w" sizes="(max-width: 1334px) 100vw, 1334px" /></figure>



<p class="wp-block-paragraph">然後按 Enter，它顯示畫面是不變的，</p>



<p class="wp-block-paragraph">但是這個網址會記錄到 Nginx 的 Log 裡面。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1428" height="378" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1.png?w=1024" alt="" class="wp-image-6536" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1.png 1428w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1-300x79.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1-1024x271.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.54.50-1-768x203.png 768w" sizes="(max-width: 1428px) 100vw, 1428px" /></figure>



<p class="wp-block-paragraph">你可以點開它的 Log 查看</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1750" height="1010" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59.png?w=1024" alt="" class="wp-image-6529" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59.png 1750w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-300x173.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-1024x591.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-768x443.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d888.55.59-1536x886.png 1536w" sizes="(max-width: 1750px) 100vw, 1750px" /></figure>



<p class="wp-block-paragraph">你會在左邊的 Log 欄位看到有 stdout 和 stderr 的選項，點擊篩選：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2176" height="888" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2.png?w=1024" alt="" class="wp-image-6533" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2.png 2176w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-300x122.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-1024x418.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-768x313.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-1536x627.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.01.08-2-2048x836.png 2048w" sizes="(max-width: 2176px) 100vw, 2176px" /></figure>



<p class="wp-block-paragraph">就可以看到 Nginx Container 寫到 Cloud Logging 的 Log 了！</p>



<p class="wp-block-paragraph">現在看到是長這樣，這些都是 Cloud Run 本身沒有記錄的 Log 喔！</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="2570" height="720" src="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44.png?w=1024" alt="" class="wp-image-6538" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44.png 2570w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-300x84.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-1024x287.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-768x215.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-1536x430.png 1536w, https://dongdonggcp.com/wp-content/uploads/2024/06/e688aae59c96-2024-06-17-e4b88be58d889.06.44-2048x574.png 2048w" sizes="(max-width: 2570px) 100vw, 2570px" /></figure>



<p class="wp-block-paragraph">如果把篩選器移除，才會同時看到 Cloud Run 和 Nginx 本身收集到的 Log：</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1994" height="274" src="https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log.png?w=1024" alt="" class="wp-image-6540" srcset="https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log.png 1994w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-300x41.png 300w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-1024x141.png 1024w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-768x106.png 768w, https://dongdonggcp.com/wp-content/uploads/2024/06/nginx-log-1536x211.png 1536w" sizes="(max-width: 1994px) 100vw, 1994px" /></figure>



<p class="wp-block-paragraph">今天就簡單分享到這裡，謝謝大家！</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"></p><p>The post <a href="https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/">[Cloud Run 教學] 如何收集在 Cloud Run 上運作的 Nginx Log？寫入 Cloud Logging</a> first appeared on <a href="https://dongdonggcp.com">東東 GCP 教學 - GCP 實戰講師</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://dongdonggcp.com/2024/06/17/how-to-write-cloud-run-nginx-log-to-cloud-logging/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
