{"@attributes":{"version":"2.0"},"channel":{"title":"Page-boy","link":"https:\/\/genffy.com\/en\/","description":"Recent content on Page-boy","generator":"Hugo -- 0.147.0","language":"en","copyright":"2026 \u8fdb\u51fb\u7684\u9875\u9762\u4ed4","lastBuildDate":"Tue, 29 Apr 2025 19:22:56 +0800","item":[{"title":"Git Multi Account Manage","link":"https:\/\/genffy.com\/en\/posts\/202504\/git-multi-account-manage\/","pubDate":"Tue, 29 Apr 2025 19:22:56 +0800","guid":"https:\/\/genffy.com\/en\/posts\/202504\/git-multi-account-manage\/","description":"Manage multiple Git accounts efficiently using SSH and Git config includes. Covers SSH key management, workspace-based Git identities, and a wrapper script for seamless workflow."},{"title":"Mac Failed to Install Playwright Chromium","link":"https:\/\/genffy.com\/en\/posts\/mac-failed-to-install-playwright-chromium\/","pubDate":"Wed, 08 Mar 2023 15:50:27 +0800","guid":"https:\/\/genffy.com\/en\/posts\/mac-failed-to-install-playwright-chromium\/","description":"how to fix failed install playwright on mac"},{"title":"Snippets","link":"https:\/\/genffy.com\/en\/snippet\/","pubDate":"Mon, 16 Jan 2023 18:05:16 +0800","guid":"https:\/\/genffy.com\/en\/snippet\/","description":"<h2 id=\"docker\">docker<\/h2>\n<h3 id=\"basic-usage\">basic usage<\/h3>\n<div class=\"highlight\"><pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># remove old version<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker image ls\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker image rm &lt;image_id&gt;\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\">#stop &amp; remove old container<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker container ls -a\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker stop &lt;container_id&gt;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker container prune\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># rerun<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker run -d -p 1337:1337 &lt;image_id&gt;\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker logs &lt;container_id&gt;\n<\/span><\/span><\/code><\/pre><\/div><h3 id=\"login\">login<\/h3>\n<div class=\"highlight\"><pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">docker login &lt;REPOSITORY_URL&gt; --username<span class=\"o\">=<\/span>zhengfei.li\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># type password<\/span>\n<\/span><\/span><\/code><\/pre><\/div><h3 id=\"build--push\">build &amp; push<\/h3>\n<div class=\"highlight\"><pre tabindex=\"0\" class=\"chroma\"><code class=\"language-shell\" data-lang=\"shell\"><span class=\"line\"><span class=\"cl\">docker build --build-arg &lt;ARG_KEY&gt;<span class=\"o\">=<\/span>&lt;AGR_VALUE&gt; -t &lt;TAG_NAME&gt; -f .\/&lt;DOCKERFILE_NAME&gt; .\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># tag name with repo url<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker tag &lt;image_id&gt; <span class=\"si\">${<\/span><span class=\"p\">{ REPOSITORY_URL <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>\/<span class=\"si\">${<\/span><span class=\"p\">{ REPOSITORY_NAMESPACE <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>\/<span class=\"si\">${<\/span><span class=\"p\">{ github.event.repository.name <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>:latest\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># push <\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker push <span class=\"si\">${<\/span><span class=\"p\">{ REPOSITORY_URL <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>\/<span class=\"si\">${<\/span><span class=\"p\">{ REPOSITORY_NAMESPACE <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>\/<span class=\"si\">${<\/span><span class=\"p\">{ github.event.repository.name <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\"><span class=\"c1\"># pull<\/span>\n<\/span><\/span><span class=\"line\"><span class=\"cl\">docker pull <span class=\"si\">${<\/span><span class=\"p\">{ REPOSITORY_URL <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>\/<span class=\"si\">${<\/span><span class=\"p\">{ REPOSITORY_NAMESPACE <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>\/<span class=\"si\">${<\/span><span class=\"p\">{ github.event.repository.name <\/span><span class=\"si\">}<\/span><span class=\"o\">}<\/span>:latest\n<\/span><\/span><\/code><\/pre><\/div><h3 id=\"build-new-image-base-biz-image\">build new image base biz image<\/h3>\n<h4 id=\"config-files\">config files<\/h4>\n<p><code>Dockerfile.node<\/code><\/p>"},{"title":"About","link":"https:\/\/genffy.com\/en\/about\/","pubDate":"Mon, 16 Jan 2023 15:23:13 +0800","guid":"https:\/\/genffy.com\/en\/about\/","description":"<p>Hi there \ud83d\udc4b  <br>\nThe internet ID is <code>genffy<\/code>, the real name is <code>Li Zhengfei<\/code>.    <br>\nCurrent job is Front-end Developer, and hope to become an engineer. <br>\nLike running, occasionally swimming, cycling<\/p>\n<h2 id=\"mbti\">MBTI<\/h2>\n<p><a href=\"https:\/\/www.16personalities.com\/intj-personality\" target=\"_blank\">INTJ<\/a><\/p>"}]}}