{"id":4170,"date":"2024-11-11T12:02:26","date_gmt":"2024-11-11T04:02:26","guid":{"rendered":"https:\/\/fwq.ai\/blog\/4170\/"},"modified":"2024-11-11T12:02:26","modified_gmt":"2024-11-11T04:02:26","slug":"%e4%bb%a3%e7%a0%81%e5%9d%97","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/4170\/","title":{"rendered":"\u4ee3\u7801\u5757"},"content":{"rendered":"<h1>\u4ee3\u7801\u5757<\/h1>\n<p>Rouge \u63d0\u4f9b\u4e86\u8bb8\u591a\u4e0d\u540c\u7684\u4ee3\u7801\u5757\u201c\u63d0\u793a\u201d\u3002\u5982\u679c\u60a8\u5ffd\u7565\u63d0\u793a\uff0c\u5b83\u4f1a\u5c1d\u8bd5\u731c\u6d4b\uff0c\u6709\u65f6\u4f1a\u51fa\u9519\u3002\u8fd9\u4e9b\u53ea\u662f\u6211\u4eec\u7ecf\u5e38\u4f7f\u7528\u7684\u4e00\u4e9b\u63d0\u793a\u3002<\/p>\n<h2><\/h2>\n<p><code>&lt;[A-Z_]+&gt;<\/code>\u5982\u679c\u60a8\u7684\u793a\u4f8b\u5305\u542b\u53ef\u80fd\u4f1a\u66f4\u6539\u7684\u5360\u4f4d\u7b26\u503c\uff0c\u8bf7\u4f7f\u7528\u5360\u4f4d\u7b26\u503c\u7684\u683c\u5f0f\uff1a<code>&lt;MY_VARIABLE&gt;<\/code><\/p>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code>export name=&lt;MY_NAME&gt;<\/code><\/pre>\n<p>\u6b64\u8bed\u6cd5\u662f\u4e3a\u53d8\u91cf\u540d\u79f0\u4fdd\u7559\u7684\uff0c\u5e76\u5c06\u5bfc\u81f4\u53d8\u91cf\u4ee5\u7279\u6b8a\u7684\u989c\u8272\u548c\u5b57\u4f53\u6837\u5f0f\u5448\u73b0\u200b\u200b\u3002<\/p>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span>incoming := map[string]interface{}{ <\/span><\/span><span><span> \"asdf\": 1, <\/span><\/span><span><span> \"qwer\": []interface{}{}, <\/span><\/span><span><span> \"zxcv\": []interface{}{ <\/span><\/span><span><span> map[string]interface{}{}, <\/span><\/span><span><span> true, <\/span><\/span><span><span> int(1e9), <\/span><\/span><span><span> \"tyui\", <\/span><\/span><span><span> }, <\/span><\/span><span><span>} <\/span><\/span><\/code><\/pre>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span>```go {hl_lines=[7,8]} <\/span><\/span><span><span>incoming := map[string]interface{}{ <\/span><\/span><span><span> \"asdf\": 1, <\/span><\/span><span><span> \"qwer\": []interface{}{}, <\/span><\/span><span><span> \"zxcv\": []interface{}{ <\/span><\/span><span><span> map[string]interface{}{}, <\/span><\/span><span><span> true, <\/span><\/span><span><span> int(1e9), <\/span><\/span><span><span> \"tyui\", <\/span><\/span><span><span> }, <\/span><\/span><span><span>} <\/span><\/span><span><span>```<\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span><br \/>\n<span>\u5c55\u793a\u66f4\u591a<\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span># syntax=docker\/dockerfile:1<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>ARG<\/span> <span>GO_VERSION<\/span><span>=<\/span><span>\"1.21\"<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>FROM<\/span><span> golang:${GO_VERSION}-alpine AS base<\/span><span> <\/span><\/span><\/span><span><span><span><\/span><span>ENV<\/span> <span>CGO_ENABLED<\/span><span>=<\/span><span>0<\/span> <\/span><\/span><span><span><span>ENV<\/span> <span>GOPRIVATE<\/span><span>=<\/span><span>\"github.com\/foo\/*\"<\/span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> apk add --no-cache file git rsync openssh-client<span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> mkdir -p -m <span>0700<\/span> ~\/.ssh <span>&amp;&amp;<\/span> ssh-keyscan github.com &gt;&gt; ~\/.ssh\/known_hosts<span> <\/span><\/span><\/span><span><span><span><\/span><span>WORKDIR<\/span><span> \/src<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>FROM<\/span><span> base AS vendor<\/span><span> <\/span><\/span><\/span><span><span><span><\/span><span># this step configure git and checks the ssh key is loaded<\/span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> --mount<span>=<\/span><span>type<\/span><span>=<\/span>ssh &lt;&lt;EOT<span> <\/span><\/span><\/span><span><span><span><\/span> <span>set<\/span> -e<span> <\/span><\/span><\/span><span><span><span><\/span> <span>echo<\/span> <span>\"Setting Git SSH protocol\"<\/span><span> <\/span><\/span><\/span><span><span><span><\/span> git config --global url.<span>\"git@github.com:\"<\/span>.insteadOf <span>\"https:\/\/github.com\/\"<\/span><span> <\/span><\/span><\/span><span><span><span><\/span> <span>(<\/span><span> <\/span><\/span><\/span><span><span><span><\/span> <span>set<\/span> +e<span> <\/span><\/span><\/span><span><span><span><\/span> ssh -T git@github.com<span> <\/span><\/span><\/span><span><span><span><\/span> <span>if<\/span> <span>[<\/span> ! <span>\"<\/span><span>$?<\/span><span>\"<\/span> <span>=<\/span> <span>\"1\"<\/span> <span>]<\/span><span>;<\/span> <span>then<\/span><span> <\/span><\/span><\/span><span><span><span><\/span> <span>echo<\/span> <span>\"No GitHub SSH key loaded exiting...\"<\/span><span> <\/span><\/span><\/span><span><span><span><\/span> <span>exit<\/span> <span>1<\/span><span> <\/span><\/span><\/span><span><span><span><\/span> <span>fi<\/span><span> <\/span><\/span><\/span><span><span><span><\/span> <span>)<\/span><span> <\/span><\/span><\/span><span><span><span><\/span>EOT<span> <\/span><\/span><\/span><span><span><span><\/span><span># this one download go modules<\/span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> --mount<span>=<\/span><span>type<\/span><span>=<\/span>bind,target<span>=<\/span>. <span>\\ <\/span><\/span><\/span><span><span><span><\/span> --mount<span>=<\/span><span>type<\/span><span>=<\/span>cache,target<span>=<\/span>\/go\/pkg\/mod <span>\\ <\/span><\/span><\/span><span><span><span><\/span> --mount<span>=<\/span><span>type<\/span><span>=<\/span>ssh <span>\\ <\/span><\/span><\/span><span><span><span><\/span> go mod download -x<span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>FROM<\/span><span> vendor AS build<\/span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> --mount<span>=<\/span><span>type<\/span><span>=<\/span>bind,target<span>=<\/span>. <span>\\ <\/span><\/span><\/span><span><span><span><\/span> --mount<span>=<\/span><span>type<\/span><span>=<\/span>cache,target<span>=<\/span>\/go\/pkg\/mod <span>\\ <\/span><\/span><\/span><span><span><span><\/span> --mount<span>=<\/span><span>type<\/span><span>=<\/span>cache,target<span>=<\/span>\/root\/.cache <span>\\ <\/span><\/span><\/span><span><span><span><\/span> go build ...<\/span><\/span><\/code><\/pre>\n<p><span>\u9690\u85cf<\/span><br \/>\n<span> <\/span> <\/p>\n<h2><\/h2>\n<p><code>bash<\/code>\u5f53\u60a8\u60f3\u8981\u663e\u793a Bash \u811a\u672c\u65f6\uff0c\u8bf7\u4f7f\u7528\u8bed\u8a00\u4ee3\u7801\u5757\uff1a<\/p>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>#!\/usr\/bin\/bash <\/span><\/span><\/span><span><span><span><\/span><span>echo<\/span> <span>\"deb https:\/\/packages.docker.com\/1.12\/apt\/repo ubuntu-trusty main\"<\/span> <span>|<\/span> sudo tee \/etc\/apt\/sources.list.d\/docker.list<\/span><\/span><\/code><\/pre>\n<p>\u5982\u679c\u60a8\u60f3\u663e\u793a\u4ea4\u4e92\u5f0f shell\uff0c\u8bf7\u6539\u7528<code>console<\/code>\u3002\u5982\u679c\u60a8\u4f7f\u7528<code>console<\/code>\uff0c\u8bf7\u786e\u4fdd\u4e3a\u7528\u6237\u7b26\u53f7\u6dfb\u52a0\u7f8e\u5143\u5b57\u7b26\uff1a<\/p>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>$<\/span> <span>echo<\/span> <span>\"deb https:\/\/packages.docker.com\/1.12\/apt\/repo ubuntu-trusty main\"<\/span> <span>|<\/span> sudo tee \/etc\/apt\/sources.list.d\/docker.list <\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>incoming<\/span> <span>:=<\/span> <span>map<\/span><span>[<\/span><span>string<\/span><span>]<\/span><span>interface<\/span><span>{}{<\/span> <\/span><\/span><span><span> <span>\"asdf\"<\/span><span>:<\/span> <span>1<\/span><span>,<\/span> <\/span><\/span><span><span> <span>\"qwer\"<\/span><span>:<\/span> <span>[]<\/span><span>interface<\/span><span>{}{},<\/span> <\/span><\/span><span><span> <span>\"zxcv\"<\/span><span>:<\/span> <span>[]<\/span><span>interface<\/span><span>{}{<\/span> <\/span><\/span><span><span> <span>map<\/span><span>[<\/span><span>string<\/span><span>]<\/span><span>interface<\/span><span>{}{},<\/span> <\/span><\/span><span><span> <span>true<\/span><span>,<\/span> <\/span><\/span><span><span> <span>int<\/span><span>(<\/span><span>1e9<\/span><span>),<\/span> <\/span><\/span><span><span> <span>\"tyui\"<\/span><span>,<\/span> <\/span><\/span><span><span> <span>},<\/span> <\/span><\/span><span><span><span>}<\/span><\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>Install-Module<\/span> <span>DockerMsftProvider<\/span> <span>-Force<\/span> <\/span><\/span><span><span><span>Install-Package<\/span> <span>Docker<\/span> <span>-ProviderName<\/span> <span>DockerMsftProvider<\/span> <span>-Force<\/span> <\/span><\/span><span><span><span>[<\/span><span>System.Environment<\/span><span>]::<\/span><span>SetEnvironmentVariable<\/span><span>(<\/span><span>\"DOCKER_FIPS\"<\/span><span>,<\/span> <span>\"1\"<\/span><span>,<\/span> <span>\"Machine\"<\/span><span>)<\/span> <\/span><\/span><span><span><span>Expand-Archive<\/span> <span>docker<\/span><span>-<\/span><span>18.09<\/span><span>.<\/span><span>1<\/span><span>.<\/span><span>zip<\/span> <span>-DestinationPath<\/span> <span>$Env:ProgramFiles<\/span> <span>-Force<\/span><\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>return<\/span> <span>html<\/span><span>.<\/span><span>format<\/span><span>(<\/span><span>name<\/span><span>=<\/span><span>os<\/span><span>.<\/span><span>getenv<\/span><span>(<\/span><span>'NAME'<\/span><span>,<\/span> <span>\"world\"<\/span><span>),<\/span> <span>hostname<\/span><span>=<\/span><span>socket<\/span><span>.<\/span><span>gethostname<\/span><span>(),<\/span> <span>visits<\/span><span>=<\/span><span>visits<\/span><span>)<\/span><\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>docker_service<\/span> <span>'default'<\/span> <span>do<\/span> <\/span><\/span><span><span> <span>action<\/span> <span>[<\/span><span>:create<\/span><span>,<\/span> <span>:start<\/span><span>]<\/span> <\/span><\/span><span><span><span>end<\/span><\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>\"server\"<\/span><span>:<\/span> <span>{<\/span> <\/span><\/span><span><span> <span>\"http_addr\"<\/span><span>:<\/span> <span>\":4443\"<\/span><span>,<\/span> <\/span><\/span><span><span> <span>\"tls_key_file\"<\/span><span>:<\/span> <span>\".\/fixtures\/notary-server.key\"<\/span><span>,<\/span> <\/span><\/span><span><span> <span>\"tls_cert_file\"<\/span><span>:<\/span> <span>\".\/fixtures\/notary-server.crt\"<\/span> <\/span><\/span><span><span><span>}<\/span><\/span><\/span><\/code><\/pre>\n<h4><\/h4>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>&lt;!DOCTYPE html&gt;<\/span> <\/span><\/span><span><span><span>&lt;<\/span><span>html<\/span><span>&gt;<\/span> <\/span><\/span><span><span><span>&lt;<\/span><span>head<\/span><span>&gt;<\/span> <\/span><\/span><span><span><span>&lt;<\/span><span>title<\/span><span>&gt;<\/span>Welcome to nginx!<span>&lt;\/<\/span><span>title<\/span><span>&gt;<\/span> <\/span><\/span><span><span><span>&lt;\/<\/span><span>head<\/span><span>&gt;<\/span> <\/span><\/span><span><span><span>&lt;\/<\/span><span>html<\/span><span>&gt;<\/span><\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span># Hello<\/span><\/span><\/code><\/pre>\n<p>\u5982\u679c\u60a8\u60f3\u5728\u4ee3\u7801\u5757\u4e2d\u5305\u542b\u4e09\u91cd\u9632\u62a4\u4ee3\u7801\u5757\uff0c\u5219\u53ef\u4ee5\u5c06\u4ee3\u7801\u5757\u5305\u88c5\u5728\u56db\u91cd\u9632\u62a4\u4ee3\u7801\u5757\u4e2d\uff1a<\/p>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span>````markdown <\/span><\/span><span><span><span># Hello <\/span><\/span><\/span><span><span><span><\/span> <\/span><\/span><span><span><span>```go <\/span><\/span><\/span><span><span><span><\/span><span>log<\/span><span>.<\/span><span>Println<\/span><span>(<\/span><span>\"did something\"<\/span><span>)<\/span> <\/span><\/span><span><span><span>```<\/span> <\/span><\/span><span><span>````<\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>[supervisord]<\/span> <\/span><\/span><span><span><span>nodaemon<\/span><span>=<\/span><span>true<\/span> <\/span><\/span><span><span> <\/span><\/span><span><span><span>[program:sshd]<\/span> <\/span><\/span><span><span><span>command<\/span><span>=<\/span><span>\/usr\/sbin\/sshd -D<\/span><\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span># syntax=docker\/dockerfile:1<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>FROM<\/span><span> ubuntu<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> apt-key adv --keyserver hkp:\/\/p80.pool.sks-keyservers.net:80 --recv-keys B97B0AFCAA1A47F044F244A07FCC7D46ACCC4CF8<span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> <span>echo<\/span> <span>\"deb http:\/\/apt.postgresql.org\/pub\/repos\/apt\/ precise-pgdg main\"<\/span> &gt; \/etc\/apt\/sources.list.d\/pgdg.list<span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> apt-get update <span>&amp;&amp;<\/span> apt-get install -y python-software-properties software-properties-common postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3<span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span># Note: The official Debian and Ubuntu images automatically ``apt-get clean``<\/span><span> <\/span><\/span><\/span><span><span><span><\/span><span># after each ``apt-get``<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>USER<\/span><span> postgres<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> \/etc\/init.d\/postgresql start <span>&amp;&amp;<\/span><span>\\ <\/span><\/span><\/span><span><span><span><\/span> psql --command <span>\"CREATE USER docker WITH SUPERUSER PASSWORD 'docker';\"<\/span> <span>&amp;&amp;<\/span><span>\\ <\/span><\/span><\/span><span><span><span><\/span> createdb -O docker docker<span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> <span>echo<\/span> <span>\"host all all 0.0.0.0\/0 md5\"<\/span> &gt;&gt; \/etc\/postgresql\/9.3\/main\/pg_hba.conf<span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>RUN<\/span> <span>echo<\/span> <span>\"listen_addresses='*'\"<\/span> &gt;&gt; \/etc\/postgresql\/9.3\/main\/postgresql.conf<span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>EXPOSE<\/span><span> 5432<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>VOLUME<\/span> <span>[<\/span><span>\"\/etc\/postgresql\"<\/span><span>,<\/span> <span>\"\/var\/log\/postgresql\"<\/span><span>,<\/span> <span>\"\/var\/lib\/postgresql\"<\/span><span>]<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><\/span><\/span><span><span><span><\/span><span>CMD<\/span> <span>[<\/span><span>\"\/usr\/lib\/postgresql\/9.3\/bin\/postgres\"<\/span><span>,<\/span> <span>\"-D\"<\/span><span>,<\/span> <span>\"\/var\/lib\/postgresql\/9.3\/main\"<\/span><span>,<\/span> <span>\"-c\"<\/span><span>,<\/span> <span>\"config_file=\/etc\/postgresql\/9.3\/main\/postgresql.conf\"<\/span><span>]<\/span><\/span><\/span><\/code><\/pre>\n<h2><\/h2>\n<p><span> <\/span><br \/>\n<span> <\/span> <\/p>\n<pre><code><span><span><span>authorizedkeys<\/span><span>:<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><span>image<\/span><span>:<\/span><span> <\/span><span>dockercloud\/authorizedkeys<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><span>deployment_strategy<\/span><span>:<\/span><span> <\/span><span>every_node<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><span>autodestroy<\/span><span>:<\/span><span> <\/span><span>always<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><span>environment<\/span><span>:<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span>- <span>AUTHORIZED_KEYS=ssh-rsa AAAAB3Nsomelongsshkeystringhereu9UzQbVKy9o00NqXa5jkmZ9Yd0BJBjFmb3WwUR8sJWZVTPFL<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><span>volumes<\/span><span>:<\/span><span> <\/span><\/span><\/span><span><span><span> <\/span><span>\/root:\/user:rw<\/span><\/span><\/span><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u4ee3\u7801\u5757 Rouge \u63d0\u4f9b\u4e86\u8bb8\u591a\u4e0d\u540c\u7684\u4ee3\u7801\u5757\u201c\u63d0\u793a\u201d\u3002\u5982\u679c\u60a8\u5ffd\u7565\u63d0\u793a\uff0c\u5b83\u4f1a\u5c1d\u8bd5\u731c\u6d4b\uff0c\u6709\u65f6\u4f1a\u51fa\u9519\u3002\u8fd9\u4e9b\u53ea\u662f\u6211\u4eec\u7ecf\u5e38\u4f7f\u7528\u7684\u4e00\u4e9b\u63d0\u793a\u3002 &lt;[A-Z_]+&gt;\u5982\u679c\u60a8\u7684\u793a\u4f8b\u5305\u542b\u53ef\u80fd\u4f1a\u66f4\u6539\u7684\u5360\u4f4d\u7b26\u503c\uff0c\u8bf7\u4f7f\u7528\u5360\u4f4d\u7b26\u503c\u7684\u683c\u5f0f\uff1a&lt;MY_VARIABLE&gt; export name=&lt;MY_NAME&gt; \u6b64\u8bed\u6cd5\u662f\u4e3a\u53d8\u91cf\u540d\u79f0\u4fdd\u7559\u7684\uff0c\u5e76\u5c06\u5bfc\u81f4\u53d8\u91cf\u4ee5\u7279\u6b8a\u7684\u989c\u8272\u548c\u5b57\u4f53\u6837\u5f0f\u5448\u73b0\u200b\u200b\u3002 incoming := map[string]interface{}{ &#8220;asdf&#8221;: 1, &#8220;qwer&#8221;: []interface{}{}, &#8220;zxcv&#8221;: []interface{}{ map[string]interface{}{}, true, int(1e9), &#8220;tyui&#8221;, }, } &#8220;`go {hl_lines=[7,8]} incoming := map[string]interface{}{ &#8220;asdf&#8221;: 1, &#8220;qwer&#8221;: []interface{}{}, &#8220;zxcv&#8221;: []interface{}{ map[string]interface{}{}, true, int(1e9), &#8220;tyui&#8221;, }, } &#8220;` \u5c55\u793a\u66f4\u591a # syntax=docker\/dockerfile:1 ARG GO_VERSION=&#8221;1.21&#8243; FROM golang:${GO_VERSION}-alpine AS base ENV CGO_ENABLED=0 ENV GOPRIVATE=&#8221;github.com\/foo\/*&#8221; RUN apk [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"class_list":["post-4170","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/4170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=4170"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/4170\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=4170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=4170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=4170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}