<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-691840318909042786</id><updated>2026-10-23T09:39:41.408+09:00</updated><title type='text'>Android for holyxlat</title><subtitle type='html'>개발한 Android App 및 개발 중 TIP 및 정보에 대한 기록 공간..</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>43</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-2535797859922206391</id><published>2025-12-14T19:03:00.002+09:00</published><updated>2026-10-21T11:31:57.198+09:00</updated><title type='text'>Installation for Qwen3-vl:4b on Windows 11</title><content type='html'>&lt;p&gt;Windows 11에서 Ollama를 설치하고 Qwen3-VL 4B 모델을 돌려본 과정을 정리해 둔다. 텍스트뿐 아니라 이미지도 같이 넣을 수 있는 모델이다. 아래 캡처는 설치할 때 실제로 나온 화면들이다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;먼저 알아둘 것&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;OS는 Windows 10 22H2 이상이면 된다.&lt;/li&gt;&lt;li&gt;NVIDIA 그래픽카드를 쓴다면 드라이버가 551.61 이상이어야 한다. GPU가 없어도 CPU로 돌아가긴 하는데 느릴 수 있다.&lt;/li&gt;&lt;li&gt;Ollama 설치에 4GB 정도, qwen3-vl:4b 모델 파일이 3.3GB라서 여유 공간을 넉넉히 잡아두는 게 좋다.&lt;/li&gt;&lt;li&gt;Qwen3-VL은 Ollama 0.12.7 이상에서 동작한다. 최신 버전을 받으면 문제 없다.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;설치 순서&lt;/b&gt; (아래 캡처 순서와 같다)&lt;/p&gt;&lt;ol&gt;&lt;li&gt;https://ollama.com 에서 Windows용 OllamaSetup.exe를 받아 실행하고 Install을 누른다. 관리자 권한은 필요 없고 사용자 계정 폴더에 설치된다.&lt;/li&gt;&lt;li&gt;파일 압축을 푸는 진행 화면이 나오는데 끝날 때까지 기다린다.&lt;/li&gt;&lt;li&gt;중간에 Microsoft Visual C++ 2015-2022 Redistributable(x64) 설치 창이 뜨면 그대로 진행한다.&lt;/li&gt;&lt;li&gt;설치가 끝나면 Ollama 앱이 뜬다. 채팅창 오른쪽 아래 모델 선택에서 qwen3-vl:4b를 고르고 아무 메시지나 보내면, 처음 한 번 모델을 내려받은 뒤 대화할 수 있다.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;https://ollama.com/&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiwkT7YQSCasMe1jHZWuhl3J4OCpQW6v6Ey_wquy5fDd1PsjkrIViYfgvkQddriftIo6JAxU9JMqtryQkhlcz0SUfmX6dgLDfBbj0ob25Jrg0gM8p6I4ljdBKzXTjpbPtLgG2KzMo50LcfXKhs-M-zJmBt674HzaMC2441N9NUQtA_0RzQJOPeuwsyWVWnL&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;637&quot; data-original-width=&quot;837&quot; height=&quot;345&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiwkT7YQSCasMe1jHZWuhl3J4OCpQW6v6Ey_wquy5fDd1PsjkrIViYfgvkQddriftIo6JAxU9JMqtryQkhlcz0SUfmX6dgLDfBbj0ob25Jrg0gM8p6I4ljdBKzXTjpbPtLgG2KzMo50LcfXKhs-M-zJmBt674HzaMC2441N9NUQtA_0RzQJOPeuwsyWVWnL=w453-h345&quot; width=&quot;453&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEibYv4kqEBk-8azEtsf71ACyJcgzmflGiG5wFOjKb77V6awhsxXK3CmZ7LysSbklb1cDnUGCxYhYZ4vyX367eMuwPlGTJrdlO8UARiJ0YFDVnNew72qFCl3jE0Q1VMx7k5iavN_FDzDg-1PFTr91r6K3xanvBTXV1zo-AxLlSSmSfo0OG2zArzIJXZjrMBI&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;637&quot; data-original-width=&quot;837&quot; height=&quot;351&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEibYv4kqEBk-8azEtsf71ACyJcgzmflGiG5wFOjKb77V6awhsxXK3CmZ7LysSbklb1cDnUGCxYhYZ4vyX367eMuwPlGTJrdlO8UARiJ0YFDVnNew72qFCl3jE0Q1VMx7k5iavN_FDzDg-1PFTr91r6K3xanvBTXV1zo-AxLlSSmSfo0OG2zArzIJXZjrMBI=w461-h351&quot; width=&quot;461&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg-LawRt8EJgFe50mO0GD-KcCMS0WbSd2qZQr-KM_TUnbdWek--KhLSUfta6wfh6sGGY8mtR4hKik10iMbPMszasSceX8lqEjH0yC1dc4IV8MoYIBj9LGBYbD9VBNXZfACK_-5UwCkhHLwQtcuZa50x-udXSy_4QeKStzma1U-RyaIHnkipWewO-dLXPAqc&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;293&quot; data-original-width=&quot;471&quot; height=&quot;199&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEg-LawRt8EJgFe50mO0GD-KcCMS0WbSd2qZQr-KM_TUnbdWek--KhLSUfta6wfh6sGGY8mtR4hKik10iMbPMszasSceX8lqEjH0yC1dc4IV8MoYIBj9LGBYbD9VBNXZfACK_-5UwCkhHLwQtcuZa50x-udXSy_4QeKStzma1U-RyaIHnkipWewO-dLXPAqc&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgs-9x4EEbVdx5TjwrGOmkqrB154EBuq7Yfm58CwX4LdTxe3c-KY-giL4PDKEnPAsYepGUha53CR2G-HT8ZNXnC8L10Eg_dMjh2RUMEmk7pc2ESzF6S-ZqUIuDhtQ1XrvESg0zYs77fL8PkkHtcff8_5mYmhZhz6KUixRbzPwC1QLORzGJZCWaN69Va3cyM&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;632&quot; data-original-width=&quot;802&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgs-9x4EEbVdx5TjwrGOmkqrB154EBuq7Yfm58CwX4LdTxe3c-KY-giL4PDKEnPAsYepGUha53CR2G-HT8ZNXnC8L10Eg_dMjh2RUMEmk7pc2ESzF6S-ZqUIuDhtQ1XrvESg0zYs77fL8PkkHtcff8_5mYmhZhz6KUixRbzPwC1QLORzGJZCWaN69Va3cyM&quot; width=&quot;305&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiSuXUhk-nCW2T6MDP-qBLFJIVcfbtv-ogpkCmBo-oQbKe21el5PAKrGGFa6l0Gl25R4iQp2ZDZUtRb_CBpWlm-T8IoGTiN7gUQdDNm6YWBEyxC3oAVkRsUnTtt0zV7pqri8YlQ_QXXV_uJ4FldRiguDT2bnP0lSmZpJ1wD4-vCuYzPPt4MT8UtCuwk4SIo&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;628&quot; data-original-width=&quot;1115&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiSuXUhk-nCW2T6MDP-qBLFJIVcfbtv-ogpkCmBo-oQbKe21el5PAKrGGFa6l0Gl25R4iQp2ZDZUtRb_CBpWlm-T8IoGTiN7gUQdDNm6YWBEyxC3oAVkRsUnTtt0zV7pqri8YlQ_QXXV_uJ4FldRiguDT2bnP0lSmZpJ1wD4-vCuYzPPt4MT8UtCuwk4SIo&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgUHLbOR1A8V1qytY5Q6Yu1lhDeOiHQg-Uf1YLR-xYfvl09LTIMw0Da-EJHf96bJBgBH-v7GhnAWlJAOa5Me1uo03WW44sMbudzvHTaOGFLfwHuJd_31HxqK85DIF0bfC10WeR9Lxdt3joa9h86s176aM2pB_0sdvV9D2E9B2XCyHJ8FCDmarmPZHQL5ujZ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;628&quot; data-original-width=&quot;1115&quot; height=&quot;180&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEgUHLbOR1A8V1qytY5Q6Yu1lhDeOiHQg-Uf1YLR-xYfvl09LTIMw0Da-EJHf96bJBgBH-v7GhnAWlJAOa5Me1uo03WW44sMbudzvHTaOGFLfwHuJd_31HxqK85DIF0bfC10WeR9Lxdt3joa9h86s176aM2pB_0sdvV9D2E9B2XCyHJ8FCDmarmPZHQL5ujZ&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;터미널에서 실행하기&lt;/b&gt;&lt;/p&gt;&lt;p&gt;PowerShell이나 cmd에서 아래 명령으로도 같은 모델을 쓸 수 있다.&lt;/p&gt;&lt;pre&gt;ollama run qwen3-vl:4b&lt;/pre&gt;&lt;p&gt;이미지를 넣을 때는 질문 뒤에 이미지 파일 경로를 같이 적어주면 된다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;모델 크기&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Ollama 라이브러리 기준으로 2b는 1.9GB, 4b는 3.3GB, 8b는 6.2GB, 30b는 20GB 정도이고 컨텍스트는 전부 256K다. 메모리가 넉넉하지 않으면 2b나 4b가 무난하다.&lt;/p&gt;&lt;p&gt;&lt;b&gt;참고&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Ollama 서버는 http://localhost:11434 에서 동작해서 API로도 호출할 수 있다.&lt;/li&gt;&lt;li&gt;모델 파일은 기본적으로 %HOMEPATH%\.ollama 에 저장된다. 위치를 바꾸려면 사용자 환경변수 OLLAMA_MODELS를 지정하면 된다.&lt;/li&gt;&lt;li&gt;로그는 %LOCALAPPDATA%\Ollama 폴더의 app.log, server.log에서 볼 수 있다.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;용량과 최소 버전은 2026년 10월 기준 Ollama 공식 페이지 내용이라 이후에 바뀔 수 있다.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/2535797859922206391/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2025/12/installation-for-qwen3-vl4b-on-windows.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/2535797859922206391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/2535797859922206391'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2025/12/installation-for-qwen3-vl4b-on-windows.html' title='Installation for Qwen3-vl:4b on Windows 11'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiwkT7YQSCasMe1jHZWuhl3J4OCpQW6v6Ey_wquy5fDd1PsjkrIViYfgvkQddriftIo6JAxU9JMqtryQkhlcz0SUfmX6dgLDfBbj0ob25Jrg0gM8p6I4ljdBKzXTjpbPtLgG2KzMo50LcfXKhs-M-zJmBt674HzaMC2441N9NUQtA_0RzQJOPeuwsyWVWnL=s72-w453-h345-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-1224193121301733797</id><published>2023-03-13T11:42:00.003+09:00</published><updated>2026-10-22T08:53:13.936+09:00</updated><title type='text'>[Docker] docker build RUN apk update Error</title><content type='html'>&lt;p&gt;Step 3/7 : RUN apk update&lt;/p&gt;&lt;p&gt;&amp;nbsp;---&amp;gt; Running in 2fdba320b542&lt;/p&gt;&lt;p&gt;fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/main/x86_64/APKINDEX.tar.gz&lt;/p&gt;&lt;p&gt;fetch http://dl-cdn.alpinelinux.org/alpine/v3.9/community/x86_64/APKINDEX.tar.gz&lt;/p&gt;&lt;p&gt;ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/main: temporary error (try again later)&lt;/p&gt;&lt;p&gt;WARNING: Ignoring APKINDEX.b89edf6e.tar.gz: No such file or directory&lt;/p&gt;&lt;p&gt;ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.9/community: temporary error (try again later)&lt;/p&gt;&lt;p&gt;WARNING: Ignoring APKINDEX.737f7e01.tar.gz: No such file or directory&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ docker build --tag shlee/springboot-cicd:latest --no-cache --network=host .&lt;/p&gt;&lt;p&gt;&amp;nbsp;--&amp;gt; Add &quot;--network=host&quot; ..&amp;nbsp;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;컨테이너 안에서 apk 인덱스를 받아오지 못해서 나는 오류다. 빌드하는 동안 컨테이너 네트워크(DNS 포함)가 막혀 있을 때 자주 나고, &lt;code&gt;--network=host&lt;/code&gt;를 주면 호스트 네트워크를 그대로 써서 해결되는 경우가 많다.&lt;/li&gt;&lt;li&gt;예제의 Alpine v3.9는 오래된 버전이라 저장소 주소가 더 이상 응답하지 않을 수 있다. 베이스 이미지를 최신 Alpine 태그로 올려서 다시 빌드해 보는 것도 방법이다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/1224193121301733797/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2023/03/docker-docker-build-run-apk-update-error.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1224193121301733797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1224193121301733797'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2023/03/docker-docker-build-run-apk-update-error.html' title='[Docker] docker build RUN apk update Error'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-408108009837012362</id><published>2023-03-10T15:20:00.004+09:00</published><updated>2026-10-22T19:57:12.514+09:00</updated><title type='text'>Nexus Installation on Ubuntu</title><content type='html'>&lt;p&gt;$ mkdir nexus&lt;/p&gt;&lt;p&gt;$ wget https://download.sonatype.com/nexus/3/nexus-3.39.0-01-unix.tar.gz&lt;/p&gt;&lt;p&gt;$ sudo apt-get update&lt;/p&gt;&lt;p&gt;$ sudo apt install openjdk-8-jdk-headless&lt;/p&gt;&lt;p&gt;$ cd nexus/bin&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- install &amp;amp; startup : nexus run&lt;/p&gt;&lt;p&gt;- startup : nexus start&lt;/p&gt;&lt;p&gt;- stop : nexus stop&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;위의 3.39.0 + JDK 8 조합은 오래된 구성이다. 최신 버전은 Sonatype 다운로드 페이지에서 확인하고, 필요한 Java 버전은 받은 버전의 요구사항을 따른다. 최근 배포본에는 JDK가 같이 들어 있는 경우가 있어서 따로 설치하지 않아도 될 수 있다.&lt;/li&gt;&lt;li&gt;root가 아닌 별도 사용자(예: nexus)로 실행하는 것이 좋다.&lt;/li&gt;&lt;li&gt;기동하면 기본 접속 주소는 http://localhost:8081 이다.&lt;/li&gt;&lt;li&gt;초기 admin 비밀번호는 sonatype-work/nexus3/admin.password 파일에 들어 있다. 처음 로그인한 뒤 바꿔준다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/408108009837012362/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2023/03/nexus-installation-on-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/408108009837012362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/408108009837012362'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2023/03/nexus-installation-on-ubuntu.html' title='Nexus Installation on Ubuntu'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-7260744842820759010</id><published>2023-03-10T14:56:00.008+09:00</published><updated>2026-10-22T19:49:02.044+09:00</updated><title type='text'>SonarQube Installation ( on Ubuntu )</title><content type='html'>&lt;p&gt;&amp;nbsp;$ sudo apt update&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ sudo apt -y install apt-transport-https ca-certificates curl gnupg-agent software-properties-common&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-9.8.0.63668.zip&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ unzip sonarqube-9.8.0.63668.zip&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ sudo groupadd sonar&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ sudo useradd -c &quot;SonarQube - User&quot; -d /home/shlee/sonarqube/ -g sonar sonar&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;# $ sudo chown -R sonar:sonar /home/shlee/sonarqube/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ sudo chown -R shlee:shlee /home/shlee/sonarqube/&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ /home/shlee/sonarqube/bin/linux-x86-64/sonar.sh start&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ /home/shlee/sonarqube/bin/linux-x86-64/sonar.sh stop&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;$ curl localhost:9000 [admin/admin and change password]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[SonarQube Setup in gitlab / SonarQube]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1) create gitlab Impersonation Token in Gitlab&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2) create gitlab project and insert gitlab Token in sonarqube&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3) create credential for &quot;admin&quot; account in sonarqube&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp;and copy credential, paste to jenkins new credentials&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[SonarQube Setup In jenkins]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Install GitLab plugin for Jenkins - version 1.5.13 or later&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Install SonarQube Scanner plugin for Jenkins - version 2.11 or later&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;setting for integrating cicd&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;setting for sonarqube server&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[Jenkinsfile]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; withSonarQubeEnv(&#39;sonarqube_rookie01&#39;) {&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sh &quot;mvn clean verify sonar:sonar -Dsonar.projectKey=&amp;lt;프로젝트 키&amp;gt;&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;sonarqube_rookie01 &amp;lt;- ID for sonarQube Server Setting&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;lt;프로젝트 키&amp;gt; &amp;lt;-- project key in sonarqube&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;-----&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(1) Docker Push in Jenkinsfile&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;docker.withRegistry(&#39;&amp;lt;Docker Registry URL&amp;gt;&#39;, &#39;&amp;lt;Credential defined in Jenkins Credentials&amp;gt;&#39;) {&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;dockerImage.push(&#39;&amp;lt;Tag&amp;gt;&#39;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;ex&amp;gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;docker.withRegistry(&#39;http://localhost:7890/repository/docker-local-registry/&#39;, &#39;docker_credential&#39;) {&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; dockerImage.push(&#39;latest&#39;)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;}&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;(2) Integrate Sonar with Jenkins&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;withSonarQubeEnv(&#39;&amp;lt;Name of Jenkins SonarQube Server Settings&amp;gt;&#39;) {&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; sh &quot;mvn clean verify &amp;lt;Goal for SonarQube (default :&amp;nbsp; &#39;sonar:sonar&#39; )&amp;gt; -Dsonar.projectKey=&amp;lt;ProjectKey generated by SonarQube Server&amp;gt;&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;}&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;SonarQube 9.8은 오래된 버전이다. 현재 Community Build는 Java 17 또는 21이 필요하고, 압축을 푸는 디렉터리 이름이 숫자로 시작하면 안 된다.&lt;/li&gt;&lt;li&gt;첫 로그인은 admin/admin이고, 로그인하면 바로 비밀번호를 바꿔준다.&lt;/li&gt;&lt;li&gt;맨 위의 Docker apt 키 등록 명령은 SonarQube 설치와 직접 관련이 없어 보인다. 복사하다 섞인 것 같으니 따라 하지 않아도 된다.&lt;/li&gt;&lt;li&gt;스캐너(SonarScanner)의 Java 요구 버전도 올라가고 있다. 2026년 7월부터 Community Build용 스캐너는 Java 21만 지원하고, JRE 자동 프로비저닝이 켜져 있으면 따로 신경 쓰지 않아도 된다.&lt;/li&gt;&lt;li&gt;프로젝트 키는 노출을 피하려고 &amp;lt;프로젝트 키&amp;gt;로 바꿔 두었다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/7260744842820759010/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2023/03/sonarqube-installation-on-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7260744842820759010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7260744842820759010'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2023/03/sonarqube-installation-on-ubuntu.html' title='SonarQube Installation ( on Ubuntu )'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-7974619332382017985</id><published>2023-03-10T14:54:00.001+09:00</published><updated>2026-10-22T19:54:27.495+09:00</updated><title type='text'>Prometheus &amp; Grafana Installation (on Ubuntu)</title><content type='html'>&lt;p&gt;&amp;nbsp;[Prometheus]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1) download prometheus&lt;/p&gt;&lt;p&gt;$ wget &amp;lt;https://prometheus.io/download/ 에서 OS에 맞는 파일의 주소&amp;gt;&lt;/p&gt;&lt;p&gt;압축 해제.. &amp;amp; prometheus.yml 편집&lt;/p&gt;&lt;p&gt;scrape_configs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; # The job name is added as a label `job=&amp;lt;job_name&amp;gt;` to any timeseries scraped from this config.&lt;/p&gt;&lt;p&gt;&amp;nbsp; - job_name: &quot;prometheus&quot;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; # metrics_path defaults to &#39;/metrics&#39;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; # scheme defaults to &#39;http&#39;.&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; static_configs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - targets: [&quot;localhost:9091&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp; - job_name: &quot;springboot&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; scrape_interval: 15s&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; metrics_path: &quot;/actuator/prometheus&quot;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; static_configs:&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - targets: [&quot;rookie01.local:8080&quot;]&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; -&amp;nbsp;&lt;/p&gt;&lt;p&gt;2) startup&lt;/p&gt;&lt;p&gt;$ ./prometheus --config.file=prometheus.yml&amp;nbsp; --web.listen-address=&quot;0.0.0.0:9091&quot; --web.enable-lifecycle 2&amp;gt;&amp;amp;1 | tee -a ./startup.log &amp;amp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3) shutdown&lt;/p&gt;&lt;p&gt;$ curl -X POST localhost:9091/-/quit&amp;nbsp; &amp;nbsp;( or kill )&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4) brower 접속&lt;/p&gt;&lt;p&gt;http://localhost:9091&lt;/p&gt;&lt;p&gt;http://localhost:9091/metrics&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;[Grafana]&lt;/p&gt;&lt;p&gt;1) download installation file&lt;/p&gt;&lt;p&gt;$ wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.3.6.linux-amd64.tar.gz&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;2) startup&lt;/p&gt;&lt;p&gt;$ ./bin/grafana-server web&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;3) browser 접속&lt;/p&gt;&lt;p&gt;http://localhost:3000&amp;nbsp; ( admin / admin ; 첫 로그인 후 비밀번호 변경)&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;4) springboot 용 pannel 샘플 다운로드 / Import&lt;/p&gt;&lt;p&gt;&amp;nbsp;download from : https://grafana.com/grafana/dashboards/12900-springboot-apm-dashboard/&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Prometheus 다운로드 명령이 Alpine 저장소 주소로 잘못 들어가 있었다(복사 실수). Prometheus 공식 다운로드 페이지(https://prometheus.io/download/)에서 OS에 맞는 파일을 받는 것으로 고쳤다.&lt;/li&gt;&lt;li&gt;Grafana 9.3.6도 오래된 버전이라 새로 설치한다면 Grafana 공식 다운로드 페이지에서 최신 버전을 확인한다.&lt;/li&gt;&lt;li&gt;Grafana 기본 계정은 admin/admin이고, 첫 로그인 후 비밀번호를 바꾸면 된다. 글에 적혀 있던 비밀번호 힌트는 지웠다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/7974619332382017985/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2023/03/prometheus-grafana-installation-on.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7974619332382017985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7974619332382017985'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2023/03/prometheus-grafana-installation-on.html' title='Prometheus &amp; Grafana Installation (on Ubuntu)'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-4661650347123947698</id><published>2020-03-27T18:31:00.002+09:00</published><updated>2026-10-22T19:55:34.529+09:00</updated><title type='text'>Push Docker Image to GCR from WSL</title><content type='html'>&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Container Registry(gcr.io)는 종료되어 2025년 3월 18일부터 이미지 쓰기가 막혔다. 아래 gcr.io 푸시 방식은 그대로는 쓸 수 없고, Artifact Registry를 쓰거나 gcr.io 주소를 Artifact Registry로 마이그레이션해야 한다. 서울 리전 기준으로는 이렇게 한다.&lt;/p&gt;&lt;pre&gt;$ gcloud auth configure-docker asia-northeast3-docker.pkg.dev
$ gcloud artifacts repositories create REPO --repository-format=docker --location=asia-northeast3
$ docker tag config-server asia-northeast3-docker.pkg.dev/PROJECT_ID/REPO/config-server:latest
$ docker push asia-northeast3-docker.pkg.dev/PROJECT_ID/REPO/config-server:latest&lt;/pre&gt;&lt;p&gt;이메일, 프로젝트 ID, 로그인 URL, PC 이름은 노출을 피하려고 가렸다. 아래는 2020년 당시 기록이다.&lt;/p&gt;&lt;hr /&gt;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;user@pc:~$ docker images&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;REPOSITORY&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TAG&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IMAGE ID&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CREATED&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SIZE&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;asia.gcr.io/PROJECT_ID/config-server&amp;nbsp; &amp;nbsp;latest&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f9559cb4a95e&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 25 hours ago&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 135MB&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;test/configserver&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; latest&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; f9559cb4a95e&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 25 hours ago&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 135MB&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;openjdk&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 8-jdk-alpine&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; a3562aa0b991&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 10 months ago&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;105MB&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;hello-world&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; latest&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fce289e99eb9&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 15 months ago&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1.84kB&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;user@pc:~$ docker push asia.gcr.io/PROJECT_ID/config-server&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;WARNING: Could not open the configuration file: [/home/user/.config/gcloud/configurations/config_default].&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;ERROR: (gcloud.auth.docker-helper) You do not currently have an active account selected.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Please run:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; $ gcloud auth login&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;to obtain new credentials, or if you have already logged in with a&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;different account:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&amp;nbsp; $ gcloud config set account ACCOUNT&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;to select an already authenticated account to use.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;The push refers to repository [asia.gcr.io/PROJECT_ID/config-server]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;9bb9d4296990: Preparing&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;ceaf9e1ebef5: Preparing&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;9b9b7f3d56a0: Preparing&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;f1b5933fe4b5: Preparing&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;unauthorized: You don&#39;t have the needed permissions to perform this operation, and you may have invalid credentials. To authenticate your request, follow the steps in: https://cloud.google.com/container-registry/docs/advanced-authentication&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;user@pc:~$ gcloud auth login&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Go to the following link in your browser:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; (로그인 URL 생략)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Enter verification code: &lt;b&gt;&lt;u&gt;&amp;lt;Hidden&amp;gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;You are now logged in as [계정 이메일].&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Your current project is [None].&amp;nbsp; You can change this setting by running:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; $ gcloud config set project PROJECT_ID&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;user@pc:~$ gcloud config set project PROJECT_ID&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Updated property [core/project].&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;user@pc:~$ docker push asia.gcr.io/PROJECT_ID/config-server&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;The push refers to repository [asia.gcr.io/PROJECT_ID/config-server]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;9bb9d4296990: Pushed&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;ceaf9e1ebef5: Layer already exists&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;9b9b7f3d56a0: Layer already exists&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;f1b5933fe4b5: Layer already exists&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;latest: digest: sha256:5b309a37ba393e74461b10eb52c96b4dc670425b1ba546ffa27f618e607ef6d5 size: 1159&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/4661650347123947698/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/push-docker-image-to-gcr-from-wsl.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/4661650347123947698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/4661650347123947698'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/push-docker-image-to-gcr-from-wsl.html' title='Push Docker Image to GCR from WSL'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-6978116374799113318</id><published>2020-03-22T01:21:00.001+09:00</published><updated>2026-10-22T19:58:40.651+09:00</updated><title type='text'>Install gcloud on WSL (Ubuntu)</title><content type='html'>1) Run WSL&lt;br /&gt;
&lt;br /&gt;
2)&amp;nbsp;Add the Cloud SDK distribution URI as a package source&lt;br /&gt;$ echo &quot;deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main&quot; | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list&lt;br /&gt;
3) Install &lt;a href=&quot;https://packages.debian.org/jessie/apt-transport-https&quot;&gt;apt-transport-https&lt;/a&gt;&lt;br /&gt;
$ sudo apt-get install apt-transport-https ca-certificates gnupg&lt;br /&gt;
&lt;br /&gt;4)&amp;nbsp;Import the Google Cloud Platform public key&lt;br /&gt;
$&amp;nbsp;curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg&lt;br /&gt;&lt;br /&gt;5)&amp;nbsp;Update the package list and install the Cloud SDK&lt;br /&gt;$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install google-cloud-cli&lt;br /&gt;
&lt;br /&gt;
6) Install Additional Component&lt;br /&gt;
$ sudo apt-get install google-cloud-cli-app-engine-java&lt;br /&gt;
&lt;br /&gt;
7) Start gcloud&lt;br /&gt;
$ gcloud init&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;apt-key 방식은 더 이상 권장되지 않아서 공개키 등록을 &lt;code&gt;gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg&lt;/code&gt;로, 저장소 주소를 https로 바꿨다.&lt;/li&gt;&lt;li&gt;패키지 이름이 &lt;code&gt;google-cloud-sdk&lt;/code&gt;에서 &lt;code&gt;google-cloud-cli&lt;/code&gt;로 바뀌어서 5번과 6번 명령도 고쳤다. (App Engine Java 컴포넌트는 &lt;code&gt;google-cloud-cli-app-engine-java&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;공식 문서 기준으로는 3번에서 apt-transport-https 없이 &lt;code&gt;ca-certificates gnupg curl&lt;/code&gt;만 설치한다.&lt;/li&gt;&lt;li&gt;WSL 자체를 새로 설치한다면 &lt;code&gt;wsl --install&lt;/code&gt; 한 줄로 끝난다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/6978116374799113318/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-gcloud-on-wsl-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/6978116374799113318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/6978116374799113318'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-gcloud-on-wsl-ubuntu.html' title='Install gcloud on WSL (Ubuntu)'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-1145032875948680575</id><published>2020-03-20T00:41:00.000+09:00</published><updated>2026-10-22T19:58:54.045+09:00</updated><title type='text'>docker-compose error (Unable to enable NAT rule)</title><content type='html'>$ docker-compose up -d&lt;br /&gt;Creating network &quot;chapter04_default&quot; with the default driver&lt;br /&gt;ERROR: Failed to Setup IP tables: Unable to enable NAT rule:&amp;nbsp; (iptables failed: iptables --wait -t nat -I POSTROUTING -s 172.21.0.0/16 ! -o br-8cbf06e4b2c9 -j MASQUERADE: iptables: No chain/target/match by that name.&lt;br /&gt;&amp;nbsp;(exit status 1))&lt;br /&gt;
&lt;br /&gt;
[Fix]&lt;br /&gt;
$ sudo vi /etc/docker/daemon.json&lt;br /&gt;
{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;iptables&quot;:false&lt;br /&gt;}&lt;br /&gt;
&lt;br /&gt;
and then..&lt;br /&gt;
&lt;br /&gt;
restart dockerd&lt;br /&gt;
&lt;br /&gt;
&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;&quot;iptables&quot;: false&lt;/code&gt;는 도커가 iptables 규칙(NAT, 포트 공개)을 자동으로 만들지 않게 하는 임시 우회 방법이다. 이 상태에서는 컨테이너의 외부 통신이나 &lt;code&gt;-p&lt;/code&gt; 포트 공개가 안 될 수 있다.&lt;/li&gt;&lt;li&gt;이 오류는 WSL1처럼 iptables 관련 커널 모듈이 없는 환경에서 날 수 있다. 가능하면 WSL2를 쓰는 편이 낫고, 우회가 필요 없어졌다면 daemon.json 설정은 되돌려 둔다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/1145032875948680575/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/docker-compose-error-unable-to-enable.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1145032875948680575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1145032875948680575'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/docker-compose-error-unable-to-enable.html' title='docker-compose error (Unable to enable NAT rule)'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-10456897326168241</id><published>2020-03-18T00:08:00.003+09:00</published><updated>2026-10-22T19:59:07.509+09:00</updated><title type='text'>docker daemon is not running in WSL Ubuntu</title><content type='html'>1. Launch WSL with admin priviledge&lt;br /&gt;
2. su - root&lt;br /&gt;
3. dockerd&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;WSL에서는 &lt;code&gt;sudo service docker start&lt;/code&gt;로 도커 데몬을 띄우는 방법도 있다. root로 &lt;code&gt;dockerd&lt;/code&gt;를 직접 실행하면 그 터미널을 닫을 때 같이 종료된다.&lt;/li&gt;&lt;li&gt;WSL2에서 systemd를 켜 두었다면 부팅할 때 도커가 자동으로 올라오게 설정할 수 있다. 번거로우면 Windows용 Docker Desktop을 쓰는 방법도 있다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/10456897326168241/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/docker-daemon-is-not-running-in-wsl.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/10456897326168241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/10456897326168241'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/docker-daemon-is-not-running-in-wsl.html' title='docker daemon is not running in WSL Ubuntu'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-118571052722706429</id><published>2020-03-17T23:56:00.002+09:00</published><updated>2026-10-22T19:56:19.717+09:00</updated><title type='text'>Setting or change WSL root password</title><content type='html'>1. Open PowerShell Console&lt;br /&gt;
2. Comand&lt;br /&gt;
PS C:\Users\user&amp;gt; &lt;b&gt;&lt;i&gt;&lt;u&gt;wsl -u root&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
root@pc:/mnt/c/Users/user#&lt;br /&gt;
root@pc:/mnt/c/Users/user# &lt;b&gt;&lt;i&gt;&lt;u&gt;passwd&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
Enter new UNIX password:&lt;br /&gt;
Retype new UNIX password:&lt;br /&gt;
passwd: password updated successfully&lt;br /&gt;
&lt;br /&gt;&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;배포판을 지정해야 하면 &lt;code&gt;wsl -d Ubuntu -u root&lt;/code&gt;처럼 쓴다. 설치된 배포판 이름은 &lt;code&gt;wsl -l -v&lt;/code&gt;로 확인한다.&lt;/li&gt;&lt;li&gt;일반 사용자의 비밀번호를 바꿀 때는 root로 들어가서 &lt;code&gt;passwd 사용자명&lt;/code&gt;을 실행한다.&lt;/li&gt;&lt;li&gt;PC 이름과 Windows 계정명은 가려 두었다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/118571052722706429/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/setting-or-change-wsl-root-password.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/118571052722706429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/118571052722706429'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/setting-or-change-wsl-root-password.html' title='Setting or change WSL root password'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-6382356840260493133</id><published>2020-03-16T23:43:00.003+09:00</published><updated>2026-10-22T19:59:49.374+09:00</updated><title type='text'>Google Cloud SDK 설치</title><content type='html'>&lt;br /&gt;
download &amp;amp; install : &lt;a href=&quot;https://cloud.google.com/sdk/docs/quickstart-windows&quot;&gt;https://cloud.google.com/sdk/docs/quickstart-windows&lt;/a&gt;&lt;br /&gt;Set Seoul Region / Zone : asia-northeast3-a&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;위의 quickstart 주소는 예전 문서다. 지금은 공식 설치 문서(https://cloud.google.com/sdk/docs/install)에서 Windows 설치 파일을 받는다.&lt;/li&gt;&lt;li&gt;설치 후 &lt;code&gt;gcloud init&lt;/code&gt;으로 로그인과 프로젝트를 고르고, 서울 리전/존은 아래처럼 지정한다.&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;gcloud config set compute/region asia-northeast3
gcloud config set compute/zone asia-northeast3-a&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/6382356840260493133/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/google-cloud-sdk.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/6382356840260493133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/6382356840260493133'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/google-cloud-sdk.html' title='Google Cloud SDK 설치'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-5201389510314724667</id><published>2020-03-16T23:42:00.000+09:00</published><updated>2026-10-22T20:00:21.768+09:00</updated><title type='text'>install jdk8 on Ubuntu</title><content type='html'>$ sudo apt install openjdk-8-jdk&lt;br /&gt;
$ java -version&lt;br /&gt;
&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;JDK 8은 오래된 프로젝트를 돌릴 때만 필요하다. 새로 시작한다면 LTS 버전을 설치한다. &lt;code&gt;sudo apt install openjdk-17-jdk&lt;/code&gt; 또는 &lt;code&gt;openjdk-21-jdk&lt;/code&gt; (배포판에 없는 버전이면 &lt;code&gt;apt search openjdk&lt;/code&gt;로 확인)&lt;/li&gt;&lt;li&gt;여러 버전을 같이 설치했다면 &lt;code&gt;sudo update-alternatives --config java&lt;/code&gt;로 기본 버전을 고른다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/5201389510314724667/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-jdk8-on-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/5201389510314724667'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/5201389510314724667'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-jdk8-on-ubuntu.html' title='install jdk8 on Ubuntu'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-7393901490700471317</id><published>2020-03-16T22:56:00.000+09:00</published><updated>2026-10-22T20:00:57.485+09:00</updated><title type='text'>Install for Ubuntu 18.04 LTS on Windows10 ( WLS )</title><content type='html'>&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;지금은 관리자 PowerShell에서 &lt;code&gt;wsl --install&lt;/code&gt; 한 줄이면 WSL 기능 활성화와 Ubuntu 설치까지 된다. Windows 10 2004(빌드 19041) 이상 또는 Windows 11에서 쓸 수 있고, 새로 설치하면 기본이 WSL 2다.&lt;/li&gt;&lt;li&gt;다른 배포판은 &lt;code&gt;wsl --list --online&lt;/code&gt;으로 목록을 보고 &lt;code&gt;wsl --install -d 배포판이름&lt;/code&gt;으로 설치한다.&lt;/li&gt;&lt;li&gt;Ubuntu 18.04는 오래된 버전이라 새로 설치한다면 더 최신 LTS를 쓴다. 아래 순서는 2020년 당시 방식이다.&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;1. 관리자 권한으로 PowerShell 실행&lt;br /&gt;
2. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux 실행&lt;br /&gt;
3. https://www.microsoft.com/ko-kr/p/ubuntu-1804-lts/9n9tngvndl3q?rtc=1&amp;amp;activetab=pivot:overviewtab&lt;br /&gt;
4. Download &amp;amp; Install&lt;br /&gt;
5. Launch &amp;amp; Create Account / Password&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/7393901490700471317/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-for-ubuntu-1804-lts-on.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7393901490700471317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7393901490700471317'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-for-ubuntu-1804-lts-on.html' title='Install for Ubuntu 18.04 LTS on Windows10 ( WLS )'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-219223688063233950</id><published>2020-03-15T12:19:00.002+09:00</published><updated>2026-10-22T20:01:33.450+09:00</updated><title type='text'>Install Springboot CLI on Ubuntu</title><content type='html'>0. PreRequisite&lt;br /&gt;
&amp;nbsp;$ sudo apt install unzip&lt;br /&gt;
&amp;nbsp;$ sudo apt install zip&lt;br /&gt;
&lt;br /&gt;
1. Install SDKMAN&lt;br /&gt;
&lt;br /&gt;
$ curl &lt;span class=&quot;pun&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;s https&lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;com&quot;&gt;//get.sdkman.io | bash&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;pln&quot;&gt;$ source ~/.bashrc &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;pln&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;pln&quot;&gt;2. Install SpringBoot&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;pln&quot;&gt;$ &lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;sdk install springboot
&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;pln&quot;&gt;$ spring version&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;pln&quot;&gt;&lt;/span&gt;&lt;br /&gt;
$  spring init \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --boot-version=2.1.0.RC1&amp;nbsp; \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --build=gradle \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --java-version=1.8 \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --packaging=jar \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --name=product-service&amp;nbsp; \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --package-name=se.magnus.microservices.core.product \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --groupId=se.magnus.microservices.core.product \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --dependencies=actuator,webflux&amp;nbsp; \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; --version=1.0.0-SNAPSHOT \&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; product-service&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;SDKMAN으로 설치하는 방법은 그대로 쓸 수 있다. &lt;code&gt;sdk install springboot&lt;/code&gt;는 최신 CLI를 설치한다.&lt;/li&gt;&lt;li&gt;예제의 &lt;code&gt;--boot-version=2.1.0.RC1&lt;/code&gt;은 오래된 프리릴리스 버전이다. 새로 만든다면 이 옵션을 빼거나 start.spring.io에서 현재 버전을 확인해서 쓴다.&lt;/li&gt;&lt;li&gt;최신 Spring Boot는 Java 17 이상이 필요해서 예제의 &lt;code&gt;--java-version=1.8&lt;/code&gt;도 그에 맞춰 바꿔야 한다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/219223688063233950/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-springboot-cli-on-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/219223688063233950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/219223688063233950'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/install-springboot-cli-on-ubuntu.html' title='Install Springboot CLI on Ubuntu'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-7753833789852028846</id><published>2020-03-14T01:12:00.002+09:00</published><updated>2026-10-22T20:02:25.206+09:00</updated><title type='text'>fix for VirtualBox Shared Folder fs type error</title><content type='html'>$ sudo mount -t vboxsf share /mnt/share&lt;br /&gt;mount: /mnt/share: wrong fs type, bad option, bad superblock on share, missing codepage or helper program, or other error.&lt;br /&gt;
&lt;br /&gt;
$ sudo apt-get install virtualbox-guest-utils&lt;br /&gt;
&lt;br /&gt;
$ sudo mount -t vboxsf share /mnt/share&lt;hr /&gt;&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;마운트는 되는데 접근 권한 오류가 나면 사용자를 vboxsf 그룹에 넣고 다시 로그인한다. &lt;code&gt;sudo usermod -aG vboxsf $USER&lt;/code&gt;&lt;/li&gt;&lt;li&gt;또는 마운트할 때 소유자를 지정할 수 있다. &lt;code&gt;sudo mount -t vboxsf -o uid=$(id -u),gid=$(id -g) share /mnt/share&lt;/code&gt;&lt;/li&gt;&lt;li&gt;공유 폴더는 게스트 확장(Guest Additions)이 설치되어 있어야 동작한다. 패키지 이름은 배포판에 따라 다를 수 있다.&lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/7753833789852028846/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/03/fix-for-virtualbox-shared-folder-fs.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7753833789852028846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/7753833789852028846'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/03/fix-for-virtualbox-shared-folder-fs.html' title='fix for VirtualBox Shared Folder fs type error'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-1397744510454571545</id><published>2020-01-04T00:19:00.001+09:00</published><updated>2026-10-22T20:03:07.733+09:00</updated><title type='text'>Starting Vue web pack Project</title><content type='html'>&lt;p&gt;&lt;b&gt;[업데이트 2026-10]&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Vue CLI는 유지보수 모드다. 새 프로젝트는 &lt;code&gt;npm create vue@latest&lt;/code&gt;로 만드는 Vite 기반 프로젝트를 쓴다. (이후 &lt;code&gt;npm install&lt;/code&gt;, &lt;code&gt;npm run dev&lt;/code&gt;)&lt;/li&gt;&lt;li&gt;아래의 &lt;code&gt;vue-cli&lt;/code&gt; 전역 설치와 &lt;code&gt;vue init webpack-simple&lt;/code&gt;은 Vue 2 시절 방식이다. 기존 프로젝트를 이해할 때 참고하는 기록으로 보면 된다.&lt;/li&gt;&lt;/ul&gt;&lt;hr /&gt;&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;* Prerequisite : install node.js&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;$ npm install vue-cli -global&amp;nbsp; // install vue client&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;$ mkdir test-vue-project&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;$ vue init webpack-simple&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;$ npm install&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;$ npm run dev&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif;&quot;&gt;$ vi index.html&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;lt;html lang=&quot;en&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;lt;head&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;link href=&quot;https://fonts.googleapis.com/css?family=Ubuntu&quot; rel=&quot;stylesheet&quot;&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;title&amp;gt;Basic vue index.html&amp;lt;/title&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;lt;/head&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;lt;body&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;div id=&quot;app&quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;lt;script src=&quot;/dist/build.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;nbsp; &amp;lt;/body&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;arial&amp;quot; , &amp;quot;helvetica&amp;quot; , sans-serif; font-size: xx-small;&quot;&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/1397744510454571545/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2020/01/starting-vue-project.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1397744510454571545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1397744510454571545'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2020/01/starting-vue-project.html' title='Starting Vue web pack Project'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-8009519440355147186</id><published>2019-08-11T00:58:00.000+09:00</published><updated>2019-08-11T00:58:42.463+09:00</updated><title type='text'>CNI</title><content type='html'>&lt;span style=&quot;background-color: #fefefe; color: #222222; font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Roboto, Arial, sans-serif; font-size: 16px;&quot;&gt;&amp;nbsp;kubernetes CNI (Container Network Interface) : Calico, Canal, Flannel, Kube-router, Romana, Weave Net 등의 컨테이너 네트워크&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/8009519440355147186/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/08/cni.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/8009519440355147186'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/8009519440355147186'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/08/cni.html' title='CNI'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-5657164245412816001</id><published>2019-08-10T23:54:00.004+09:00</published><updated>2019-08-10T23:54:51.232+09:00</updated><title type='text'>download kubectl</title><content type='html'>For windows :&amp;nbsp;&lt;a href=&quot;http://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/windows/amd64/kubectl.exe&quot;&gt;http://storage.googleapis.com/kubernetes-release/release/v1.15.0/bin/windows/amd64/kubectl.exe&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
For Linux :&amp;nbsp;&lt;span style=&quot;background-color: #f7f7f7; color: #303030; font-family: &amp;quot;Roboto Mono&amp;quot;, monospace; font-size: 14px; font-weight: bold;&quot;&gt;curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/5657164245412816001/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/08/download-kubectl.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/5657164245412816001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/5657164245412816001'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/08/download-kubectl.html' title='download kubectl'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-4641986967755025335</id><published>2019-03-10T17:16:00.005+09:00</published><updated>2019-03-10T17:17:34.769+09:00</updated><title type='text'>register gitlab-runner</title><content type='html'>[Pre requisite]&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;1. edit /etc/hosts for adding gitlab server&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;$ cat /etc/hosts&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;127.0.0.1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;localhost &lt;b&gt;&lt;i&gt;holyxlat.com&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/b&gt;
[add certificate file to /etc/gitlab-runner/certs]&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ mkdir /etc/gitlab-runner/certs&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ cp /etc/gitlab/ssl/holyxlat.com.crt /etc/gitlab-runner/certs/.&amp;nbsp; &amp;nbsp;// sample for my case&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;[Register gitlab-runner]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo gitlab-runner register&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Runtime platform&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arch=amd64 os=linux pid=2305&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2 revision=4745a6f3 version=11.8.0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Running in system-mode.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;https://holyxlat.com/&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Please enter the gitlab-ci token for this runner:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;lt;My Token&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Please enter the gitlab-ci description for this runner:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;[&amp;lt;my host&amp;gt;]: test-gitlab-ci&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Please enter the gitlab-ci tags for this runner (comma separated):&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;test-gitlab-ci&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Registering runner... succeeded&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;runner=SvgtcSrN&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Please enter the executor: ssh, docker-ssh+machine, kubernetes, docker, parallel&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;s, shell, virtualbox, docker+machine, docker-ssh:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;docker&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Please enter the default Docker image (e.g. ruby:2.1):&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;alpine:latest&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Runner registered successfully. Feel free to start it, but if it&#39;s running already the config should be automatically reloaded!&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/4641986967755025335/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/03/register-gitlab-runner.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/4641986967755025335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/4641986967755025335'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/03/register-gitlab-runner.html' title='register gitlab-runner'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-4825530714380524068</id><published>2019-03-08T01:00:00.000+09:00</published><updated>2019-03-09T00:20:14.971+09:00</updated><title type='text'>gitlab build error (Connection Refused) windows + virtualbox + docker</title><content type='html'>&lt;span style=&quot;font-size: x-small;&quot;&gt;Cloning repository...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Cloning into &#39;/builds/root/test-project&#39;...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;fatal: unable to access &#39;https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@holyxlat.com/root/test-project.git/&#39;: Failed to connect to holyxlat.com port 443: Connection refused&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;/bin/bash: line 69: cd: /builds/root/test-project: No such file or directory&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$&amp;nbsp; ifconfig -a&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: red; font-size: x-small;&quot;&gt;&lt;b&gt;&lt;i&gt;docker0: flags=4099&amp;lt;UP,BROADCAST,MULTICAST&amp;gt;&amp;nbsp; mtu 1500&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inet 172.17.0.1&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&amp;nbsp; netmask 255.255.0.0&amp;nbsp; broadcast 172.17.255.255&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inet6 fe80::42:91ff:fe0c:ada6&amp;nbsp; prefixlen 64&amp;nbsp; scopeid 0x20&amp;lt;link&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ether 02:42:91:0c:ad:a6&amp;nbsp; txqueuelen 0&amp;nbsp; (Ethernet)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RX packets 15&amp;nbsp; bytes 2171 (2.1 KB)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RX errors 0&amp;nbsp; dropped 0&amp;nbsp; overruns 0&amp;nbsp; frame 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX packets 112&amp;nbsp; bytes 22834 (22.8 KB)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX errors 0&amp;nbsp; dropped 0 overruns 0&amp;nbsp; carrier 0&amp;nbsp; collisions 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ vi /etc/gitlab-runner/config.toml&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;[[runners]]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; name = &quot;test-runner&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; url = &quot;https://holyxlat.com&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; token = &quot;gpp2ahsxs8xkB4AeZZxX&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; executor = &quot;docker&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; [runners.docker]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; tls_verify = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; image = &quot;java:8&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; privileged = true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; disable_entrypoint_overwrite = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; oom_kill_disable = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; disable_cache = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; volumes = [&quot;/var/run/docker.sock:/var/run/docker.sock&quot;,&quot;/cache&quot;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; shm_size = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: red;&quot;&gt;extra_hosts = [&quot;holyxlat.com:127.0.0.1&quot;,&quot;holyxlat.com:172.17.0.1&quot;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/4825530714380524068/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/03/gitlab-build-error-connection-refused.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/4825530714380524068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/4825530714380524068'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/03/gitlab-build-error-connection-refused.html' title='gitlab build error (Connection Refused) windows + virtualbox + docker'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-3638582869349972564</id><published>2019-03-07T23:35:00.002+09:00</published><updated>2019-03-07T23:35:32.843+09:00</updated><title type='text'>gitlab &quot;fatal: unable to access &#39;https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@holyxlat.com/root/test-project.git/&#39;: Could not resolve host: </title><content type='html'>&lt;span style=&quot;font-size: x-small;&quot;&gt;fatal: unable to access &#39;https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@holyxlat.com/root/test-project.git/&#39;: Could not resolve host: holyxlat.com&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;/bin/bash: line 69: cd: /builds/root/test-project: No such file or directory&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;ERROR: Job failed: exit code 1&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;[solution]&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ vi /etc/gitlab-runner/config.toml&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;[[runners]]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; name = &quot;test-runner&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; url = &quot;https://holyxlat.com:1443&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; token = &quot;gpp2ahsxs8xkB4AeZZxX&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; executor = &quot;docker&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; [runners.docker]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; tls_verify = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; image = &quot;java:8&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; privileged = true&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; disable_entrypoint_overwrite = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; oom_kill_disable = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; disable_cache = false&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; volumes = [&quot;/cache&quot;]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; shm_size = 0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #cc0000;&quot;&gt;extra_hosts = [&quot;holyxlat.com:127.0.0.1&quot;]&amp;nbsp; // [&quot;&amp;lt;hostname&amp;gt;&quot;:&quot;&amp;lt;ip address&amp;gt;&quot;]&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/3638582869349972564/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/03/gitlab-fatal-unable-to-access.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/3638582869349972564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/3638582869349972564'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/03/gitlab-fatal-unable-to-access.html' title='gitlab &quot;fatal: unable to access &#39;https://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@holyxlat.com/root/test-project.git/&#39;: Could not resolve host: '/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-1688870837479796436</id><published>2019-03-06T00:31:00.005+09:00</published><updated>2019-03-06T00:31:45.817+09:00</updated><title type='text'>gitlab-runner &quot;x509: certificate signed by unknown authority&quot;</title><content type='html'>ERROR: Registering runner... failed&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;runner=sohsMZnj status=couldn&#39;t execute POST against https://holyxlat.com:443/api/v4/runners: Post https://holyxlat.com:443/api/v4/runners: x509: certificate signed by unknown authority&lt;br /&gt;
PANIC: Failed to register this runner. Perhaps you are having network problems&lt;br /&gt;
&lt;br /&gt;
[solution]&lt;br /&gt;
$ mkdir /etc/gitlab-runner/certs&lt;br /&gt;
$&amp;nbsp;&amp;nbsp;cp /etc/gitlab/ssl/holyxlat.com.crt /etc/gitlab-runner/certs/.</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/1688870837479796436/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/03/gitlab-runner-x509-certificate-signed.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1688870837479796436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/1688870837479796436'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/03/gitlab-runner-x509-certificate-signed.html' title='gitlab-runner &quot;x509: certificate signed by unknown authority&quot;'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-8024956865476015409</id><published>2019-03-05T23:41:00.000+09:00</published><updated>2019-03-05T23:41:21.670+09:00</updated><title type='text'>install gitlab-runner on linux (ubuntu x86_64)</title><content type='html'>&lt;span style=&quot;font-size: x-small;&quot;&gt;$ uname -a&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Linux shlee-VirtualBox 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;// Simply download one of the binaries for your system&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo wget -O /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runner-linux-amd64&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;...&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;/usr/local/bin/gitl 100%[++++++++++++++++++=&amp;gt;]&amp;nbsp; 29.28M&amp;nbsp; &amp;nbsp;331KB/s&amp;nbsp; &amp;nbsp; in 10s&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;2019-02-21 06:50:17 (210 KB/s) - ‘/usr/local/bin/gitlab-runner’ saved [30703328/30703328]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;// Give it permissions to execute&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo chmod +x /usr/local/bin/gitlab-runner&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;// Create a GitLab CI user:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo useradd --comment &#39;Gitlab Runner&#39; --create-home gitlab-runner --shell /bin/bash&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;//Install and run as service&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo gitlab-runner install --user=gitlab-runner --working-directory=/home/gitlab-runner&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Runtime platform&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arch=amd64 os=linux pid=24039 revision=4745a6f3 version=11.8.0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo gitlab-runner start&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Runtime platform&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; arch=amd64 os=linux pid=24420 revision=4745a6f3 version=11.8.0&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;// Stop the service&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo gitlab-runner stop&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/8024956865476015409/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/03/install-gitlab-runner-on-linux-ubuntu.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/8024956865476015409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/8024956865476015409'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/03/install-gitlab-runner-on-linux-ubuntu.html' title='install gitlab-runner on linux (ubuntu x86_64)'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-5786772890380597114</id><published>2019-02-24T00:44:00.003+09:00</published><updated>2019-02-24T00:44:40.503+09:00</updated><title type='text'>Install docker on ubuntu (virtualbox)</title><content type='html'>&lt;span style=&quot;font-size: x-small;&quot;&gt;$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo apt install apt-transport-https ca-certificates curl software-properties-common&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo add-apt-repository &quot;deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo apt update&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ apt-cache policy docker-ce&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo apt install docker-ce&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;$ sudo systemctl status docker&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;● docker.service - Docker Application Container Engine&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;Active: active (running) since Thu 2019-02-21 01:49:25 KST; 4min 3s ago&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Docs: https://docs.docker.com&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;Main PID: 17674 (dockerd)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; Tasks: 9&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp;CGroup: /system.slice/docker.service&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;└─17674 /usr/bin/dockerd -H fd://&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:24 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:24.282330531+09:00&quot; level=w&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:24 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:24.282750349+09:00&quot; level=w&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:24 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:24.283530253+09:00&quot; level=w&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:24 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:24.289217028+09:00&quot; level=i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:24 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:24.561081241+09:00&quot; level=i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:25 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:25.162682683+09:00&quot; level=i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:25 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:25.657244633+09:00&quot; level=i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:25 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:25.665705060+09:00&quot; level=i&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:25 shlee-VirtualBox systemd[1]: Started Docker Application Container Engine.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;2월 21 01:49:25 shlee-VirtualBox dockerd[17674]: time=&quot;2019-02-21T01:49:25.924950417+09:00&quot; level=i&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/5786772890380597114/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/02/install-docker-on-ubuntu-virtualbox.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/5786772890380597114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/5786772890380597114'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/02/install-docker-on-ubuntu-virtualbox.html' title='Install docker on ubuntu (virtualbox)'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-691840318909042786.post-869005056571669539</id><published>2019-02-21T01:12:00.003+09:00</published><updated>2019-03-10T00:38:06.530+09:00</updated><title type='text'>Install gitlab ce on Ubuntu / virtualbox</title><content type='html'>&amp;nbsp;$ cd /tmp&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo apt-get update&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo apt-get install -y curl openssh-server ca-certificates&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo apt-get install -y postfix&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo curl&amp;nbsp; -LO https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo bash /tmp/script.deb.sh&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;less /tmp/script.deb.sh&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo apt install gitlab-ce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo ufw status&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo ufw enable&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo ufw status&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo ufw allow http&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo ufw allow https&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo ufw allow OpenSSH&lt;br /&gt;
&amp;nbsp;$&amp;nbsp;sudo ufw status&lt;br /&gt;
&lt;br /&gt;
$ sudo ufw status&lt;br /&gt;
Status: active&lt;br /&gt;
&lt;br /&gt;
To&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Action&amp;nbsp; &amp;nbsp; &amp;nbsp; From&lt;br /&gt;
--&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;------&amp;nbsp; &amp;nbsp; &amp;nbsp; ----&lt;br /&gt;
80/tcp&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ALLOW&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Anywhere&lt;br /&gt;
443/tcp&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ALLOW&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Anywhere&lt;br /&gt;
OpenSSH&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ALLOW&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Anywhere&lt;br /&gt;
80/tcp (v6)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ALLOW&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Anywhere (v6)&lt;br /&gt;
443/tcp (v6)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ALLOW&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Anywhere (v6)&lt;br /&gt;
OpenSSH (v6)&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ALLOW&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Anywhere (v6)&lt;br /&gt;
&lt;br /&gt;
$ // change external_url and letsencrypt in /etc/gitlab/gitlab.rb file&lt;br /&gt;
$&amp;nbsp;sudo gitlab-ctl reconfigure&lt;br /&gt;
&lt;br /&gt;
(*) ref :&amp;nbsp;https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-gitlab-on-ubuntu-18-04</content><link rel='replies' type='application/atom+xml' href='http://holyxlat.blogspot.com/feeds/869005056571669539/comments/default' title='댓글'/><link rel='replies' type='text/html' href='http://holyxlat.blogspot.com/2019/02/gitlab-ce-on-ubuntu-virtualbox.html#comment-form' title='0개의 덧글'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/869005056571669539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/691840318909042786/posts/default/869005056571669539'/><link rel='alternate' type='text/html' href='http://holyxlat.blogspot.com/2019/02/gitlab-ce-on-ubuntu-virtualbox.html' title='Install gitlab ce on Ubuntu / virtualbox'/><author><name>xlat android world</name><uri>http://www.blogger.com/profile/07494887326821776412</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>