{"id":3447,"date":"2025-11-13T10:14:19","date_gmt":"2025-11-13T03:14:19","guid":{"rendered":"https:\/\/portal-atlasx.cdg.co.th\/home\/?post_type=docs&#038;p=3447"},"modified":"2025-11-13T10:16:33","modified_gmt":"2025-11-13T03:16:33","slug":"build-image","status":"publish","type":"docs","link":"https:\/\/portal-atlasx.cdg.co.th\/home\/docs\/atlasx-container\/developing\/build-image\/","title":{"rendered":"Build Image"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\" id=\"build-container-image\">Build Container Image<\/h1>\n\n\n\n<p>\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23 build application \u0e43\u0e2b\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e02\u0e2d\u0e07 container image \u0e0b\u0e36\u0e48\u0e07\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e32\u0e44\u0e14\u0e49\u0e40\u0e1b\u0e47\u0e19 image \u0e41\u0e25\u0e49\u0e27 \u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e35\u0e48\u0e08\u0e30\u0e1e\u0e01\u0e1e\u0e32 image \u0e19\u0e35\u0e49\u0e44\u0e1b run \u0e17\u0e35\u0e48\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e44\u0e2b\u0e19\u0e01\u0e47\u0e44\u0e14\u0e49<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"container-image-components\">Container Image Components<\/h2>\n\n\n\n<p>Container image \u0e19\u0e31\u0e49\u0e19\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e44\u0e1b\u0e14\u0e49\u0e27\u0e22 2 \u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e04\u0e37\u0e2d \u0e0a\u0e37\u0e48\u0e2d\u0e02\u0e2d\u0e07 image \u0e41\u0e25\u0e30\u0e41\u0e17\u0e47\u0e01\u0e02\u0e2d\u0e07 image \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e40\u0e02\u0e35\u0e22\u0e19\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a&nbsp;<code>&lt;IMAGE_NAME&gt;:&lt;TAG&gt;<\/code>&nbsp;\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19&nbsp;<code>atlasx-webapp:1.0.0<\/code><\/p>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23 build image \u0e19\u0e31\u0e49\u0e19\u0e40\u0e23\u0e32\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e35\u0e48\u0e08\u0e30\u0e43\u0e0a\u0e49\u0e0a\u0e37\u0e48\u0e2d\u0e0b\u0e49\u0e33\u0e01\u0e31\u0e19\u0e44\u0e14\u0e49 \u0e41\u0e25\u0e30\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e23\u0e30\u0e1a\u0e38\u0e23\u0e38\u0e48\u0e19\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 \u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19&nbsp;<code>atlasx-webapp:1.0.0<\/code>&nbsp;\u0e2b\u0e23\u0e37\u0e2d&nbsp;<code>atlasx-webapp:latest<\/code>&nbsp;\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"build-atlasx-web-application-image\">Build AtlasX Web Application Image<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<h5 class=\"wp-block-heading\">Note<\/h5>\n\n\n\n<p><\/p>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e23\u0e30\u0e1a\u0e27\u0e19\u0e01\u0e32\u0e23\u0e19\u0e35\u0e49\u0e08\u0e30\u0e40\u0e1b\u0e47\u0e19\u0e01\u0e32\u0e23 build image \u0e40\u0e09\u0e1e\u0e32\u0e30\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19 Angular \u0e21\u0e32\u0e23\u0e31\u0e19\u0e14\u0e49\u0e27\u0e22 web server \u0e17\u0e35\u0e48\u0e0a\u0e37\u0e48\u0e2d&nbsp;<a href=\"https:\/\/www.nginx.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">NGINX<\/a>&nbsp;\u0e40\u0e17\u0e48\u0e32\u0e19\u0e31\u0e49\u0e19<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-prepare-dockerfile\">1. Prepare Dockerfile<\/h3>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23 build AtlasX Web Application \u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e04\u0e37\u0e2d \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e47\u0e01\u0e15\u0e4c\u0e21\u0e35\u0e44\u0e1f\u0e25\u0e4c\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a containerize \u0e41\u0e25\u0e49\u0e27\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e31\u0e07 \u0e16\u0e49\u0e32\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14&nbsp;<a href=\"https:\/\/portal-atlasx.cdg.co.th\/tools\/downloads\/docker-file\" target=\"_blank\" rel=\"noreferrer noopener\">docker pack<\/a>&nbsp;\u0e21\u0e32\u0e44\u0e27\u0e49\u0e17\u0e35\u0e48\u0e42\u0e1f\u0e25\u0e4c\u0e40\u0e14\u0e2d\u0e23\u0e4c&nbsp;<code>ClientApp<\/code>&nbsp;\u0e15\u0e32\u0e21\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.\n\u251c\u2500\u2500 ClientApp\/\n\u2502   \u251c\u2500\u2500 docker\/\n\u2502   \u2502   \u2514\u2500\u2500 Dockerfile\n\u2502   \u251c\u2500\u2500 nginx\/\n\u2502   \u2502   \u2514\u2500\u2500 nginx.conf\n\u2502   \u251c\u2500\u2500 .dockerignore\n\u2502   \u2514\u2500\u2500 .npmrc.docker\n\u251c\u2500\u2500 .gitignore\n\u251c\u2500\u2500 docker-compose.yml\n\u2514\u2500\u2500 example.env<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 <\/span><span style=\"color: #001080\">ClientApp<\/span><span style=\"color: #000000\">\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2502   \u251c\u2500\u2500 <\/span><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\">\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2502   \u2502   \u2514\u2500\u2500 <\/span><span style=\"color: #001080\">Dockerfile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2502   \u251c\u2500\u2500 <\/span><span style=\"color: #001080\">nginx<\/span><span style=\"color: #000000\">\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2502   \u2502   \u2514\u2500\u2500 <\/span><span style=\"color: #001080\">nginx<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">conf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2502   \u251c\u2500\u2500 .<\/span><span style=\"color: #001080\">dockerignore<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2502   \u2514\u2500\u2500 .<\/span><span style=\"color: #001080\">npmrc<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">docker<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 .<\/span><span style=\"color: #001080\">gitignore<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 <\/span><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">compose<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">yml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2514\u2500\u2500 <\/span><span style=\"color: #001080\">example<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">env<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2-setup-build-parameters\">2. Setup Build Parameters<\/h3>\n\n\n\n<p>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e15\u0e48\u0e2d\u0e21\u0e32\u0e04\u0e37\u0e2d\u0e40\u0e1b\u0e34\u0e14 terminal \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32 \u0e41\u0e25\u0e49\u0e27\u0e44\u0e1b\u0e17\u0e35\u0e48 ClientApp<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cd ClientApp<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">cd<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">ClientApp<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14 environment variable \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23 build \u0e0b\u0e36\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Variable<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>NPM_TOKEN<\/code><\/td><td>npm token \u0e02\u0e2d\u0e07 atlasx npm registry<\/td><\/tr><tr><td><code>BASE_HREF<\/code><\/td><td>base href \u0e02\u0e2d\u0e07 website (Optional)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<h5 class=\"wp-block-heading\">Note<\/h5>\n\n\n\n<p><\/p>\n\n\n\n<p>\u26a0\ufe0f \u0e2b\u0e32\u0e01\u0e21\u0e35\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Traefik Proxy \u0e08\u0e30\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e33\u0e2b\u0e19\u0e14&nbsp;<code>BASE_HREF<\/code>&nbsp;\u0e14\u0e49\u0e27\u0e22<\/p>\n<\/blockquote>\n\n\n\n<p>\u0e0b\u0e36\u0e48\u0e07 npm token \u0e19\u0e31\u0e49\u0e19\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2b\u0e32\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e44\u0e1f\u0e25\u0e4c&nbsp;<code>.npmrc<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"macoslinux\">MacOS\/Linux<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>cat $HOME\/.npmrc | grep _authToken<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">cat<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">$HOME<\/span><span style=\"color: #000000\">\/.<\/span><span style=\"color: #001080\">npmrc<\/span><span style=\"color: #000000\"> | <\/span><span style=\"color: #001080\">grep<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">_authToken<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"windows\">Windows<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>type %USERPROFILE%\\.npmrc | findstr _authToken<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">type<\/span><span style=\"color: #000000\"> %<\/span><span style=\"color: #0070C1\">USERPROFILE<\/span><span style=\"color: #000000\">%\\.<\/span><span style=\"color: #001080\">npmrc<\/span><span style=\"color: #000000\"> | <\/span><span style=\"color: #001080\">findstr<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">_authToken<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e01\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"macoslinux-1\">MacOS\/Linux<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>export NPM_TOKEN=NpmToken.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\nexport BASE_HREF=\"\/axwa\/\" # \u0e01\u0e33\u0e2b\u0e19\u0e14 base href \u0e02\u0e2d\u0e07 website<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">export<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NPM_TOKEN<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">NpmToken<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">xxxxxxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxxxxxxxxxx<\/span><\/span>\n<span class=\"line\"><span style=\"color: #0000FF\">export<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;\/axwa\/&quot;<\/span><span style=\"color: #000000\"> # <\/span><span style=\"color: #001080\">\u0e01\u0e33\u0e2b\u0e19\u0e14<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">base<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">href<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">\u0e02\u0e2d\u0e07<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">website<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"windows-1\">Windows<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$env:NPM_TOKEN=NpmToken.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n$env:BASE_HREF=\"\/axwa\/\" # \u0e01\u0e33\u0e2b\u0e19\u0e14 base href \u0e02\u0e2d\u0e07 website<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">$env:<\/span><span style=\"color: #0070C1\">NPM_TOKEN<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">NpmToken<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">xxxxxxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">xxxxxxxxxxxx<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">$env:<\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #A31515\">&quot;\/axwa\/&quot;<\/span><span style=\"color: #000000\"> # <\/span><span style=\"color: #001080\">\u0e01\u0e33\u0e2b\u0e19\u0e14<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">base<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">href<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">\u0e02\u0e2d\u0e07<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">website<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3-building-image\">3. Building Image<\/h3>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23 build image \u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"macoslinux-2\">MacOS\/Linux<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker build -f docker\/Dockerfile \\\n    --build-arg NPM_TOKEN=${NPM_TOKEN} \\\n    --build-arg BASE_HREF=${BASE_HREF} \\\n    -t &lt;IMAGE_NAME>:&lt;TAG> .<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\"> -<\/span><span style=\"color: #001080\">f<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #001080\">Dockerfile<\/span><span style=\"color: #000000\"> \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NPM_TOKEN<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NPM_TOKEN<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    -<\/span><span style=\"color: #001080\">t<\/span><span style=\"color: #000000\"> &lt;<\/span><span style=\"color: #0070C1\">IMAGE_NAME<\/span><span style=\"color: #000000\">&gt;:<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">TAG<\/span><span style=\"color: #800000\">&gt;<\/span><span style=\"color: #000000\"> .<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"windows-2\">Windows<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker build -f docker\/Dockerfile `\n    --build-arg NPM_TOKEN=${env:NPM_TOKEN} `\n    --build-arg BASE_HREF=${env:BASE_HREF} `\n    -t &lt;IMAGE_NAME>:&lt;TAG> .<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\"> -<\/span><span style=\"color: #001080\">f<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #001080\">Dockerfile<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #A31515\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A31515\">    --build-arg NPM_TOKEN=<\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">env<\/span><span style=\"color: #000000FF\">:<\/span><span style=\"color: #0070C1\">NPM_TOKEN<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{env:<\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">} <\/span><span style=\"color: #A31515\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A31515\">    -t &lt;IMAGE_NAME&gt;:&lt;TAG&gt; .<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker build -f docker\/Dockerfile \\\n    --build-arg NPM_TOKEN=${NPM_TOKEN} \\\n    --build-arg BASE_HREF=${BASE_HREF} \\\n    -t atlasx-webapp:1.0.0 .<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\"> -<\/span><span style=\"color: #001080\">f<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\">\/<\/span><span style=\"color: #001080\">Dockerfile<\/span><span style=\"color: #000000\"> \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NPM_TOKEN<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NPM_TOKEN<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">BASE_HREF<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    -<\/span><span style=\"color: #001080\">t<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">atlasx<\/span><span style=\"color: #000000\">-webapp:<\/span><span style=\"color: #098658\">1.0<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> .<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d build \u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32 image \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker images<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">images<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e02\u0e2d\u0e07 image \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>REPOSITORY        TAG       IMAGE ID        CREATED        SIZE\natlasx-webapp     1.0.0     41cb0ddb9a83    9 hours ago    164MB<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">REPOSITORY<\/span><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">TAG<\/span><span style=\"color: #000000\">       <\/span><span style=\"color: #0070C1\">IMAGE<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">ID<\/span><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">CREATED<\/span><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">SIZE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">atlasx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">webapp<\/span><span style=\"color: #000000\">     <\/span><span style=\"color: #098658\">1.0<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">     41<\/span><span style=\"color: #001080\">cb0ddb9a83<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">9<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">hours<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">ago<\/span><span style=\"color: #000000\">    164<\/span><span style=\"color: #0070C1\">MB<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"build-atlasx-web-service-image\">Build AtlasX Web Service Image<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-prepare-dockerfile-1\">1. Prepare Dockerfile<\/h3>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23 build AtlasX Web Application \u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e15\u0e23\u0e35\u0e22\u0e21\u0e04\u0e37\u0e2d \u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e47\u0e01\u0e15\u0e4c\u0e21\u0e35\u0e44\u0e1f\u0e25\u0e4c\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a containerize \u0e41\u0e25\u0e49\u0e27\u0e2b\u0e23\u0e37\u0e2d\u0e22\u0e31\u0e07 \u0e16\u0e49\u0e32\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e43\u0e2b\u0e49\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14&nbsp;<a href=\"https:\/\/portal-atlasx.cdg.co.th\/tools\/downloads\/docker-file\" target=\"_blank\" rel=\"noreferrer noopener\">docker pack<\/a>&nbsp;\u0e21\u0e32\u0e44\u0e27\u0e49\u0e17\u0e35\u0e48\u0e42\u0e1f\u0e25\u0e4c\u0e40\u0e14\u0e2d\u0e23\u0e4c root \u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e47\u0e01\u0e15\u0e4c \u0e15\u0e32\u0e21\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e14\u0e31\u0e07\u0e19\u0e35\u0e49<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>.\n\u251c\u2500\u2500 .dockerignore\n\u251c\u2500\u2500 .gitignore\n\u251c\u2500\u2500 Dockerfile\n\u251c\u2500\u2500 docker-compose.yml\n\u251c\u2500\u2500 example.env\n\u2514\u2500\u2500 nuget.config.template<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 .<\/span><span style=\"color: #001080\">dockerignore<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 .<\/span><span style=\"color: #001080\">gitignore<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 <\/span><span style=\"color: #001080\">Dockerfile<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 <\/span><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">compose<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">yml<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u251c\u2500\u2500 <\/span><span style=\"color: #001080\">example<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">env<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">\u2514\u2500\u2500 <\/span><span style=\"color: #001080\">nuget<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">config<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #001080\">template<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2-setup-build-parameters-1\">2. Setup Build Parameters<\/h3>\n\n\n\n<p>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e15\u0e48\u0e2d\u0e21\u0e32\u0e04\u0e37\u0e2d\u0e40\u0e1b\u0e34\u0e14 terminal \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32 \u0e41\u0e25\u0e49\u0e27\u0e44\u0e1b\u0e17\u0e35\u0e48 root \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14 environment variable \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e43\u0e19\u0e01\u0e32\u0e23 build \u0e0b\u0e36\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Variable<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr><td><code>NUGET_TELERIK_USER<\/code><\/td><td>Username \u0e02\u0e2d\u0e07 telerik \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e02\u0e2d\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e17\u0e35\u0e21 AtlasX<\/td><\/tr><tr><td><code>NUGET_TELERIK_PASSWORD<\/code><\/td><td>Password \u0e02\u0e2d\u0e07 telerik \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e02\u0e2d\u0e44\u0e14\u0e49\u0e08\u0e32\u0e01\u0e17\u0e35\u0e21 AtlasX<\/td><\/tr><tr><td><code>NUGET_ATLASX_USER<\/code><\/td><td>Username \u0e02\u0e2d\u0e07 CDG Account<\/td><\/tr><tr><td><code>NUGET_ATLASX_PASSWORD<\/code><\/td><td>Password \u0e02\u0e2d\u0e07 CDG Account<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e01\u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e1e\u0e32\u0e23\u0e32\u0e21\u0e34\u0e40\u0e15\u0e2d\u0e23\u0e4c\u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"macoslinux-3\">MacOS\/Linux<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>export NUGET_TELERIK_USER=&lt;NUGET_TELERIK_USER>\nexport NUGET_TELERIK_PASSWORD=&lt;NUGET_TELERIK_PASSWORD>\nexport NUGET_ATLASX_USER=&lt;NUGET_ATLASX_USER>\nexport NUGET_ATLASX_PASSWORD=&lt;NUGET_ATLASX_PASSWORD><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0000FF\">export<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_TELERIK_USER<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">export NUGET_TELERIK_PASSWORD=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_TELERIK_PASSWORD<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">export NUGET_ATLASX_USER=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_ATLASX_USER<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">export NUGET_ATLASX_PASSWORD=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_ATLASX_PASSWORD<\/span><span style=\"color: #800000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"windows-3\">Windows<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>$env:NUGET_TELERIK_USER=&lt;NUGET_TELERIK_USER>\n$env:NUGET_TELERIK_PASSWORD=&lt;NUGET_TELERIK_PASSWORD>\n$env:NUGET_ATLASX_USER=&lt;NUGET_ATLASX_USER>\n$env:NUGET_ATLASX_PASSWORD=&lt;NUGET_ATLASX_PASSWORD><\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #000000\">$env:<\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_TELERIK_USER<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">$env:NUGET_TELERIK_PASSWORD=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_TELERIK_PASSWORD<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">$env:NUGET_ATLASX_USER=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_ATLASX_USER<\/span><span style=\"color: #800000\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">$env:NUGET_ATLASX_PASSWORD=<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">NUGET_ATLASX_PASSWORD<\/span><span style=\"color: #800000\">&gt;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3-building-image-1\">3. Building Image<\/h3>\n\n\n\n<p>\u0e43\u0e19\u0e01\u0e32\u0e23 build image \u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"macoslinux-4\">MacOS\/Linux<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker build --build-arg NUGET_TELERIK_USER=${NUGET_TELERIK_USER} \\\n    --build-arg NUGET_TELERIK_PASSWORD=${NUGET_TELERIK_PASSWORD} \\\n    --build-arg NUGET_ATLASX_USER=${NUGET_ATLASX_USER} \\\n    --build-arg NUGET_ATLASX_PASSWORD=${NUGET_ATLASX_PASSWORD} \\\n    -t &lt;IMAGE_NAME>:&lt;TAG> .<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\"> --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_TELERIK_PASSWORD<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_TELERIK_PASSWORD<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_ATLASX_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_ATLASX_USER<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_ATLASX_PASSWORD<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_ATLASX_PASSWORD<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    -<\/span><span style=\"color: #001080\">t<\/span><span style=\"color: #000000\"> &lt;<\/span><span style=\"color: #0070C1\">IMAGE_NAME<\/span><span style=\"color: #000000\">&gt;:<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">TAG<\/span><span style=\"color: #800000\">&gt;<\/span><span style=\"color: #000000\"> .<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"windows-4\">Windows<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker build --build-arg NUGET_TELERIK_USER=${env:NUGET_TELERIK_USER} `\n    --build-arg NUGET_TELERIK_PASSWORD=${env:NUGET_TELERIK_PASSWORD} `\n    --build-arg NUGET_ATLASX_USER=${env:NUGET_ATLASX_USER} `\n    --build-arg NUGET_ATLASX_PASSWORD=${env:NUGET_ATLASX_PASSWORD} `\n    -t &lt;IMAGE_NAME>:&lt;TAG> .<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\"> --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{env:<\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">} <\/span><span style=\"color: #A31515\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A31515\">    --build-arg NUGET_TELERIK_PASSWORD=<\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">env<\/span><span style=\"color: #000000FF\">:<\/span><span style=\"color: #0070C1\">NUGET_TELERIK_PASSWORD<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_ATLASX_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{env:<\/span><span style=\"color: #0070C1\">NUGET_ATLASX_USER<\/span><span style=\"color: #000000\">} <\/span><span style=\"color: #A31515\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #A31515\">    --build-arg NUGET_ATLASX_PASSWORD=<\/span><span style=\"color: #0000FF\">${<\/span><span style=\"color: #001080\">env<\/span><span style=\"color: #000000FF\">:<\/span><span style=\"color: #0070C1\">NUGET_ATLASX_PASSWORD<\/span><span style=\"color: #0000FF\">}<\/span><span style=\"color: #A31515\"> `<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    -<\/span><span style=\"color: #001080\">t<\/span><span style=\"color: #000000\"> &lt;<\/span><span style=\"color: #0070C1\">IMAGE_NAME<\/span><span style=\"color: #000000\">&gt;:<\/span><span style=\"color: #800000\">&lt;<\/span><span style=\"color: #267F99\">TAG<\/span><span style=\"color: #800000\">&gt;<\/span><span style=\"color: #000000\"> .<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e40\u0e0a\u0e48\u0e19<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker build --build-arg NUGET_TELERIK_USER=${NUGET_TELERIK_USER} \\\n    --build-arg NUGET_TELERIK_PASSWORD=${NUGET_TELERIK_PASSWORD} \\\n    --build-arg NUGET_ATLASX_USER=${NUGET_ATLASX_USER} \\\n    --build-arg NUGET_ATLASX_PASSWORD=${NUGET_ATLASX_PASSWORD} \\\n    -t atlasx-webservice:1.0.0 .<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\"> --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_TELERIK_USER<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_TELERIK_PASSWORD<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_TELERIK_PASSWORD<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_ATLASX_USER<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_ATLASX_USER<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    --<\/span><span style=\"color: #001080\">build<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">arg<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">NUGET_ATLASX_PASSWORD<\/span><span style=\"color: #000000\">=<\/span><span style=\"color: #001080\">$<\/span><span style=\"color: #000000\">{<\/span><span style=\"color: #0070C1\">NUGET_ATLASX_PASSWORD<\/span><span style=\"color: #000000\">} \\<\/span><\/span>\n<span class=\"line\"><span style=\"color: #000000\">    -<\/span><span style=\"color: #001080\">t<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">atlasx<\/span><span style=\"color: #000000\">-webservice:<\/span><span style=\"color: #098658\">1.0<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\"> .<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e40\u0e21\u0e37\u0e48\u0e2d build \u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 \u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e27\u0e48\u0e32 image \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 \u0e42\u0e14\u0e22\u0e43\u0e0a\u0e49\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>docker images<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #001080\">docker<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">images<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e02\u0e2d\u0e07 image \u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-Fira-Code\" style=\"font-size:.875rem;font-family:Code-Pro-Fira-Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" style=\"color:#000000;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>REPOSITORY        TAG       IMAGE ID        CREATED        SIZE\natlasx-webservice    1.0.0     dcb07d9f4944    13 hours ago   63.6MB<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki light-plus\" style=\"background-color: #FFFFFF\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #0070C1\">REPOSITORY<\/span><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">TAG<\/span><span style=\"color: #000000\">       <\/span><span style=\"color: #0070C1\">IMAGE<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #0070C1\">ID<\/span><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">CREATED<\/span><span style=\"color: #000000\">        <\/span><span style=\"color: #0070C1\">SIZE<\/span><\/span>\n<span class=\"line\"><span style=\"color: #001080\">atlasx<\/span><span style=\"color: #000000\">-<\/span><span style=\"color: #001080\">webservice<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">1.0<\/span><span style=\"color: #000000\">.<\/span><span style=\"color: #098658\">0<\/span><span style=\"color: #000000\">     <\/span><span style=\"color: #001080\">dcb07d9f4944<\/span><span style=\"color: #000000\">    <\/span><span style=\"color: #098658\">13<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">hours<\/span><span style=\"color: #000000\"> <\/span><span style=\"color: #001080\">ago<\/span><span style=\"color: #000000\">   63.6<\/span><span style=\"color: #0070C1\">MB<\/span><\/span><\/code><\/pre><\/div>\n","protected":false},"featured_media":0,"parent":3444,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nav_title":"","positive":"","negative":"","footnotes":""},"docs_category":[],"class_list":["post-3447","docs","type-docs","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/types\/docs"}],"replies":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/comments?post=3447"}],"version-history":[{"count":1,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3447\/revisions"}],"predecessor-version":[{"id":3448,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3447\/revisions\/3448"}],"up":[{"embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs\/3444"}],"wp:attachment":[{"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/media?parent=3447"}],"wp:term":[{"taxonomy":"docs_category","embeddable":true,"href":"https:\/\/portal-atlasx.cdg.co.th\/home\/wp-json\/wp\/v2\/docs_category?post=3447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}