{"id":379,"date":"2022-04-10T19:41:58","date_gmt":"2022-04-10T11:41:58","guid":{"rendered":"https:\/\/linguopeng.top\/?p=379"},"modified":"2024-11-19T14:10:48","modified_gmt":"2024-11-19T06:10:48","slug":"%e9%85%8d%e7%bd%ae%e6%ba%90","status":"publish","type":"post","link":"https:\/\/linguopeng.top\/?p=379","title":{"rendered":"wsl\u4e0edocker"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">wsl &#8211;import Ubuntu-20.04 d:\\Wsl\\Ubuntu-20.04 D:\\Wsl\\Ubuntu-20.04.tar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wsl -l\nwsl --export Ubuntu-20.04 D:\\Wsl\\Ubuntu-20.04.tar\nwsl --unregister Ubuntu-20.04\nwsl --import Ubuntu-20.04 d:\\Wsl\\Ubuntu-20.04 D:\\Wsl\\Ubuntu-20.04.tar\nvim \/etc\/apt\/sources.list \ndeb http:\/\/mirrors.aliyun.com\/ubuntu\/ focal main restricted universe multiverse\ndeb-src http:\/\/mirrors.aliyun.com\/ubuntu\/ focal main restricted universe multiverse\n\ndeb http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-security main restricted universe multiverse\ndeb-src http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-security main restricted universe multiverse\n\ndeb http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-updates main restricted universe multiverse\ndeb-src http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-updates main restricted universe multiverse\n\ndeb http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-proposed main restricted universe multiverse\ndeb-src http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-proposed main restricted universe multiverse\n\ndeb http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-backports main restricted universe multiverse\ndeb-src http:\/\/mirrors.aliyun.com\/ubuntu\/ focal-backports main restricted universe multiverse\nsudo apt-get update\n#################\u4e00\u952e\u5b89\u88c5\u811a\u672c#########\n#\u5b89\u88c5 Docker\uff08\u975e\u5927\u9646\u670d\u52a1\u5668\uff09\nwget -qO- get.docker.com | bash\ndocker -v  #\u67e5\u770b docker \u7248\u672c\nsystemctl enable docker  # \u8bbe\u7f6e\u5f00\u673a\u81ea\u52a8\u542f\u52a8\n#\u5b89\u88c5 Docker-compose\uff08\u975e\u5927\u9646\u670d\u52a1\u5668\uff09\nsudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.29.2\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose\nsudo chmod +x \/usr\/local\/bin\/docker-compose\ndocker-compose --version  #\u67e5\u770b docker-compose \u7248\u672c\n# install docker\ncurl -fsSL https:\/\/get.docker.com -o get-docker.sh\nsudo sh get-docker.sh\nif \u3010 ! $(getent group docker) \u3011;\nthen\n    sudo groupadd docker;\nelse\n    echo \"docker user group already exists\"\nfi\n\nsudo gpasswd -a $USER docker\nsudo service docker restart\n\nrm -rf get-docker.sh\n#System has not been booted with systemd as init system (PID 1). Can't operate.\nsudo service docker start\n###################win10 WSL2 \u5f00\u542f systemclt \u547d\u4ee4#############\n\u5982\u4f55\u89e3\u51b3System has not been booted with systemd\u9519\u8bef\uff1f\n\nsudo apt-get install daemonize\nsudo daemonize \/usr\/bin\/unshare --fork --pid --mount-proc \/lib\/systemd\/systemd --system-unit=basic.target\nexec sudo nsenter -t $(pidof systemd) -a su - $LOGNAME\n#########################Docker \u57fa\u672c\u4f7f\u7528############\n\u5b89\u88c5 apt \u4f9d\u8d56\u5305\uff0c\u7528\u4e8e\u901a\u8fc7HTTPS\u6765\u83b7\u53d6\u4ed3\u5e93:\nsudo apt-get install \\\n    apt-transport-https \\\n    ca-certificates \\\n    curl \\\n    gnupg-agent \\\n    software-properties-common\n\u6dfb\u52a0 Docker \u7684\u5b98\u65b9 GPG \u5bc6\u94a5\uff1a\n\ncurl -fsSL https:\/\/mirrors.ustc.edu.cn\/docker-ce\/linux\/ubuntu\/gpg | sudo apt-key add -\nsudo apt-key fingerprint 0EBFCD88\nsudo add-apt-repository \\\n   \"deb &#91;arch=amd64] https:\/\/mirrors.ustc.edu.cn\/docker-ce\/linux\/ubuntu\/ \\\n  $(lsb_release -cs) \\\n  stable\"\n sudo apt-get update\n#sudo apt-get install docker-ce docker-ce-cli containerd.io\n#\u9009\u62e9\u6700\u540e\u7248\u672c\u5b89\u88c5\nsudo apt-get install docker-ce=5:19.03.9~3-0~ubuntu-focal\n# \u67e5\u770bdocker\u8fd0\u884c\u4fe1\u606f\ndocker info\n########################## \u914d\u7f6e\u955c\u50cf\u6e90###########\nmkdir -p \/etc\/docker\n# vi \/etc\/docker\/daemon.json\n{\n    \"registry-mirrors\": &#91;\n        \"http:\/\/hub-mirror.c.163.com\",\n        \"https:\/\/docker.mirrors.ustc.edu.cn\",\n        \"https:\/\/registry.docker-cn.com\"\n    ]\n}\nservice docker restart\ndocker info\n####################\u4e0b\u8f7d\u955c\u50cf########################\n# \u641c\u7d22\u955c\u50cf\uff1a\u955c\u50cf\u7684\u540d\u5b57\u901a\u5e38\u7531\u7528\u6237\u540d\/\u955c\u50cf\u540d\u6784\u6210,\u65e0\u7528\u6237\u540d\u7684\u4e3a\u5b98\u65b9\u8ba4\u8bc1\u955c\u50cf\ndocker search ubuntu\n\n# \u83b7\u53d6\u955c\u50cf\ndocker pull ubuntu # ubuntu latest 16.04\ndocker run --name=ubuntu -it ubuntu\ndocker cp sources.list ubuntu:\/\ndocker start ubuntu\ndocker attach ubuntu\n# \u67e5\u770b\u672c\u673aDocker\u4e2d\u5b58\u5728\u7684\u955c\u50cf \ndocker images\n\n# \u67e5\u770b\u955c\u50cf\u7684\u5386\u53f2\u7f16\u8f91\u4fe1\u606f\ndocker history ubuntu\n#############################\u8fd0\u884c\u955c\u50cf##################################\n# \u53ef\u4ee5\u67e5\u770b\u8fd9\u4e2a\u547d\u4ee4\u7684\u53c2\u6570\ndocker run --help\n\n# \u521b\u5efa\u5bb9\u5668\uff0c\u547d\u540d\u5bb9\u5668\u540dubuntu\uff0c\u4e92\u52a8\u6807\u51c6\u8f93\u5165i\u548c\u5206\u914d\u65b0\u547d\u4ee4\u884ct\u3002i: --interactive Keep STDIN open even if not attached; t: --tty Allocate a pseudo-TTY\ndocker run --name=ubuntu -it ubuntu\n\napt-get update\napt-get install less\napt-get install htop\nbash --version # 4.3.48\nperl -v # 5.22.1\napt-get install r-base # depended on python\nR --version # 3.2.3 (2015-12-10)\npython --version # 2.7.12\n\n# \u5185\u90e8\u9000\u51fa\u5bb9\u5668\nexit # \u6216Ctrl+D\n\n# \u67e5\u770b\u5bb9\u5668\u5217\u8868\ndocker ps -a|less -S # \u67e5\u770b\u6240\u6709container\n\n# \u542f\u52a8\u9000\u51fa\u5bb9\u5668(ID\/Names)\ndocker start ubuntu\n\n# \u8fdb\u5165\u8fd0\u884c\u5bb9\u5668\ndocker attach ubuntu\nexit # \u9000\u51fa\u7ec8\u7aef\u548c\u5bb9\u5668\n\n# \u4fdd\u5b58\u5bb9\u5668\u81f3\u955c\u50cf\n## a\u4f5c\u8005,m\u63cf\u8ff0(am\u53ef\u4e0d\u6dfb)\uff0c\u5bb9\u5668\uff0c\u955c\u50cf(\u7528\u6237\/\u955c\u50cf:\u7248\u672c)\ndocker commit -a liuyongxin -m 'Add r-base' ubuntu liuyongxin\/ubuntu16:0.01\ndocker commit -a linguopeng -m 'Add mono'  ubuntu liuyongxin\/ubuntu16:0.01\n# \u5bfc\u51fa\u5bb9\u5668\u81f3\u6587\u4ef6\ndocker save ubuntu -o ubuntu.tar\n#docker export ubuntu -o ubuntu.tar\n# \u5bfc\u5165\u5bb9\u5668\u6587\u4ef6\u4e3a\u955c\u50cf\ndocker load ubuntu -i ubuntu.tar\ndocker import ubuntu.tar liuyongxin\/ubuntu16:latest\n\n# \u5220\u9664\u9000\u51fa\u5bb9\u5668\u53ca\u6302\u8f7d\u76ee\u5f55\u94fe\u63a5\ndocker rm -v ubuntu\n\n# \u540e\u53f0\u8fd0\u884cimages\ndocker run --name=ubuntu -itd liuyongxin\/ubuntu16 \/bin\/bash  \n\n# \u5916\u90e8\u9000\u51fa\u5bb9\u5668\ndocker stop ubuntu\n\n# \u6279\u91cf\u9000\u51fa\u5bb9\u5668\ndocker stop $(docker ps -a -q)\n\n# \u6279\u91cf\u5220\u9664\u9000\u51fa\u7684\u5bb9\u5668\ndocker rm -v $(docker ps -a -q -f status=exited)\n\n# \u79fb\u9664\u955c\u50cf\ndocker rmi liuyongxin\/ubuntu16\n\n# \u79fb\u9664\u5168\u90e8\u955c\u50cf\ndocker rmi $(docker images -q)\n\n# \u53ea\u5bf9\u67d0\u76ee\u5f55\u6570\u636e\u5904\u7406\uff1a\u6253\u5f00\u955c\u50cf\u5e76\u6302\u8f7d\u76ee\u5f55\u5de5\u4f5c\uff0c\u9000\u51fa\u81ea\u52a8\u5220\u9664\u5bb9\u5668\n# rm\u9000\u51fa\u5220\u9664\u5bb9\u5668,v\u6302\u8f7dyongxing\u81f3home\uff0c\u5bb9\u5668\u540d\uff0c\u6253\u5f00\u547d\u4ee4\u884c\ndocker run --rm -v \/mnt\/bai\/yongxin:\/home --name=ubuntu -it liuyongxin\/ubuntu16:0.01\n\n##################\u4e0a\u4f20\u955c\u50cf#################\n\u6211\u4eec\u9700\u8981\u73b0\u5728Docker hub\u6ce8\u518c\u8d26\u53f7\nUsername:liuyongxin\nEmail: liuyongxin@163.com\nPassword\uff1axxx\u2026\u2026\n\ndocker login # \u6309\u63d0\u793a\u8f93\u5165\u7528\u6237\u540d\u3001\u5bc6\u7801\u3002\u767b\u5f55\u6210\u529f\u4f1a\u8fd4\u56deLogin Succeeded\ndocker push liuyongxin\/ubuntu16\ndocker rmi liuyongxin\/ubuntu16 # \u5982\u679c\u672c\u5730\u4e0d\u518d\u4f7f\u7528\u4e14\u60f3\u6e05\u7406\u7a7a\u95f4\uff0c\u53ef\u79fb\u9664\u955c\u50cf\n#######################\u4f7f\u7528\u522b\u4eba\u914d\u7f6e\u7684QIIME docker####################\n# \u5728docker\u5e93\u4e2d\u68c0\u7d22\ndocker search qiime\n# \u4e0b\u8f7d\u9700\u8981\u7684docker\ndocker pull yoshikiv\/basespace-qiime-191-dev\n# \u67e5\u770b\u672c\u5730\u7684qiime docker\ndocker images|grep 'qiime'\n# \u8fd0\u884cdocker\uff0c\u52a0\u8f7d\u5de5\u4f5c\u76ee\u5f55\uff0c\u9000\u51fa\u81ea\u52a8\u79fb\u9664\ndocker run  --rm -v \/mnt\/bai\/yongxin:\/home --name=qiime -it yoshikiv\/basespace-qiime-191-dev\n\ndocker run --rm -v $(pwd):\/home --name=picrust2 -it  bc7f4f5d93a5\n##############\u589e\u5f3adocker qiime\u7684\u9ad8\u7ea7\u7ed8\u56fe\u529f\u80fd\uff0c\u9009\u7528\n# install ggplot2 ggtree for R\nR\nsource(\"https:\/\/bioconductor.org\/biocLite.R\")\nbiocLite(c(\"ggtree\",\"ggplot2\",\"colorspace\"))\n###############\u5b9e\u4f8b\uff1a\u4f7f\u7528docker\u4e2d\u7684QIIME\u7ed8\u5236alpha rarefraction\u66f2\u7ebf##########\ndocker run --rm -v `pwd`:\/home --name=qiime yoshikiv\/basespace-qiime-191-dev make_rarefaction_plots.py -i home\/${result}\/a_collated\/ -m home\/doc\/design_rare.txt -o home\/result\n\ndocker run --rm -v `pwd`:\/home --name=picrust2.3 picrust2.3 picrust2_pipeline.py\ndocker run picrust2.2 \/bin\/sh -c \"while true; do echo hello world; sleep 1; done\"\n\n\n\n######docker\u670d\u52a1\u542f\u52a8,\u91cd\u542f,\u5173\u95ed\u547d\u4ee4\ndocker\u542f\u52a8\u547d\u4ee4,docker\u91cd\u542f\u547d\u4ee4,docker\u5173\u95ed\u547d\u4ee4\n\u542f\u52a8        systemctl start docker\n\u5b88\u62a4\u8fdb\u7a0b\u91cd\u542f   sudo systemctl daemon-reload\n\u91cd\u542fdocker\u670d\u52a1   systemctl restart  docker\n\u91cd\u542fdocker\u670d\u52a1  sudo service docker restart\n\u5173\u95eddocker service docker stop\n\u5173\u95eddocker systemctl stop docker\n\ndocker pull hub-mirror.c.163.com\/people\/ruanjian:bangben\nconda install --use-local\n##################\u5b89\u88c5Singularity\nsudo apt-get update &amp;&amp; sudo apt-get install -y \\\nbuild-essential \\\nuuid-dev \\\nlibgpgme-dev \\\nsquashfs-tools \\\nlibseccomp-dev \\\nwget \\\npkg-config \\\ngit \\\ncryptsetup-bin\nwget https:\/\/golang.org\/dl\/go1.14.12.linux-amd64.tar.gz\ntar -C \/pub\/software -xzvf go1.14.12.linux-amd64.tar.gz\nrm go1.14.12.linux-amd64.tar.gz\necho 'export PATH=\/pub\/software\/go\/bin:$PATH' >> \/etc\/profile.d\/env.sh\nwget https:\/\/github.com\/hpcng\/singularity\/releases\/\ndownload\/v3.7.2\/singularity-3.7.2.tar.gz\ntar -xzf singularity-3.7.2.tar.gz\ncd singularity\n.\/mconfig\ncd builddir\nmake\nsudo make install\n###########################\u672c\u5730\u6e90\u4e0b\u8f7d\u955c\u50cf\n1.\u5229\u7528\u5b98\u65b9\u63d0\u4f9b\u7684\u5de5\u5177docker-registry\uff0c\u6784\u5efa\u79c1\u6709\u7684\u955c\u50cf\u4ed3\u5e93\uff0cregistry\u4e5f\u662f\u4e00\u4e2a\u955c\u50cf\uff0c\u5148\u628a\u5b83\u4e0b\u8f7d\u4e0b\u6765\u3002\ndocker pull registry\n2.\u5229\u7528registry\u6784\u5efa\u79c1\u6709\u4ed3\u5e93\ndocker run -d -p 5000:5000 -v \/opt\/data\/registry:\/var\/lib\/registry registry\n3.\u4ed3\u5e93\u521b\u5efa\u5b8c\u4e4b\u540e\uff0c\u540e\u7eed\u4e0a\u4f20\u7684\u955c\u50cf\u4f1a\u88ab\u653e\u5728\u672c\u5730\u6620\u5c04\u7684\u76ee\u5f55\u4e0b\uff0c\u5982\u4e0a\uff0c\u662f\u6620\u5c04\u5230 \/opt\/data\/registry \u4e0a\u3002\u7136\u540e\uff0c\u6807\u8bb0\u4f60\u8981\u8f6c\u5316\u7684\u955c\u50cf\u518d\u4e0a\u4f20\u3002\n# \u67e5\u770b\u672c\u5730\u6709\u54ea\u4e9b\u955c\u50cf\ndocker images\n# \u6807\u8bb0\u6210\u5e26\u6709\u5730\u5740\uff08127.0.0.1:5000\uff09\u7684\u955c\u50cf\ndocker tag bc7f4f5d93a5 127.0.0.1:5000\/linguopeng\/picrust2\n# \u4e0a\u4f20\u955c\u50cf\u5230\u672c\u5730\u4ed3\u5e93\ndocker push 127.0.0.1:5000\/linguopeng\/picrust2\n#\u4e0a\u4f20\u5b8c\u4e4b\u540e\uff0c\u5229\u7528curl\u67e5\u770b\u4ed3\u5e93\u4e2d\u7684\u955c\u50cf\ncurl 127.0.0.1:5000\/v2\/_catalog\n{\"repositories\":&#91;\"linguopeng\/picrust2\"]}\nsingularity build --nohttps picrust2.sif docker:\/\/127.0.0.1:5000\/linguopeng\/picrust2\n#####################singularity \u8fd0\u884c\nsingularity build --sandbox picrust2 picrust2.sif\nsingularity shell -w picrust2 \nsingularity build -f picrust2.2.sif picrust2 \nsingularity exec picrust2.2.sif picrust2_pipeline.py\nsingularity pull docker:\/\/kastman\/pgap\nsingularity shell picrust2.2.sif bash\n########docker \u91cc\u7684$PATH,\u5728singularity\u7684environment\u91cc\necho 'export PATH=\/opt\/conda\/envs\/qiime2-2019.7\/bin:$PATH' >\/environment\necho 'export PATH=\/opt\/conda\/condabin:$PATH' >>\/environment\necho 'export PATH=\/opt\/conda\/bin:$PATH' >>\/environment\necho 'export PATH=\/usr\/local\/sbin:$PATH' >>\/environment\necho 'export PATH=\/usr\/local\/bin:$PATH' >>\/environment\necho 'export PATH=\/usr\/sbin:$PATH' >>\/environment\necho 'export PATH=\/usr\/bin:$PATH' >>\/environment\necho 'export PATH=\/sbin:$PATH' >>\/environment\necho 'export PATH=\/bin:$PATH' >>\/environment\n\u9000\u51fa\u65f6\uff0c\u4f7f\u7528 &#91;ctrl + D]\uff0c\u8fd9\u6837\u4f1a\u7ed3\u675f docker \u5f53\u524d\u7ebf\u7a0b\uff0c\u5bb9\u5668\u7ed3\u675f\uff0c\u53ef\u4ee5\u4f7f\u7528 &#91;ctrl + P]&#91;ctrl + Q] \u7ec4\u5408\u952e\u9000\u51fa\u800c\u4e0d\u7ec8\u6b62\u5bb9\u5668\u8fd0\u884c\ndocker\u5bb9\u5668\u5185\u9ed8\u8ba4\u662froot\u7528\u6237\u6267\u884c\uff0c\u4f46\u662f\u6302\u8f7d\u7684\u6587\u4ef6\u5939\uff0c\u5230\u4e3b\u673a\u4e2d\u7684\u7ed3\u679c\u4e3aroot\u7684\uff0c\u4e3b\u673a\u7528\u6237\u6ca1\u6709\u6743\u9650\u89e3\u51b3\u529e\u6cd5\uff1a\n\u662f\u5728\u5bb9\u5668\u5185\u53d6\u4fee\u6539\u6587\u4ef6\u7684\u5c5e\u4e3b\u89e3\u51b3\ncat metawrap_v1.dockerfile \n#dockerfile\u5185\u5bb9\u5982\u4e0b\nFROM raser216\/metawrap:v1.0.0\nRUN echo \"source activate metawrap-env\" >> ~\/.bashrc\nENV PATH \/opt\/conda\/envs\/metawrap-env\/bin:$PATH\n##############\ndocker build -t linguopeng\/meta.1.3.2 .\n\u00a0#########################################\n\u5b89\u88c5Docker\n\u975e\u5927\u9646\u670d\u52a1\u5668Docker\u5b89\u88c5\nwget -qO- get.docker.com | bash\ndocker -v  #\u67e5\u770bdocker\u7248\u672c\nsystemctl enable docker  # \u8bbe\u7f6e\u5f00\u673a\u81ea\u52a8\u542f\u52a8\n\u4fee\u6539 Docker \u914d\u7f6e\uff08\u53ef\u9009\uff09\uff08\u6765\u81ea\u70e7\u997c\u535a\u5ba2\uff09\ncat > \/etc\/docker\/daemon.json &lt;&lt;EOF\n{\n    \"data-root\": \"\/256g\",\n    \"log-driver\": \"json-file\",\n    \"log-opts\": {\n        \"max-size\": \"20m\",\n        \"max-file\": \"3\"\n    },\n    \"ipv6\": true,\n    \"fixed-cidr-v6\": \"fd00:dead:beef:c0::\/80\",\n    \"experimental\":true,\n    \"ip6tables\":true\n}\nEOF\n\u7136\u540e\u91cd\u542f Docker \u670d\u52a1\uff1a\nsystemctl restart docker\n\u975e\u5927\u9646\u670d\u52a1\u5668 Docker-compose \u5b89\u88c5\nsudo curl -L \"https:\/\/github.com\/docker\/compose\/releases\/download\/1.29.2\/docker-compose-$(uname -s)-$(uname -m)\" -o \/usr\/local\/bin\/docker-compose\nsudo chmod +x \/usr\/local\/bin\/docker-compose\ndocker-compose --version  #\u67e5\u770bdocker-compose\u7248\u672c\n#########################################\u3001\n\u5b89\u88c5 Nginx Proxy Manager\nsudo -i\n\nmkdir -p \/root\/data\/docker_data\/npm\n\ncd \/root\/data\/docker_data\/npm\nvim docker-compose.yml\nversion: '3'\nservices:\n  app:\n    image: 'jc21\/nginx-proxy-manager:latest'\n    restart: unless-stopped\n    ports:\n      - '80:80'  # \u5192\u53f7\u5de6\u8fb9\u53ef\u4ee5\u6539\u6210\u81ea\u5df1\u670d\u52a1\u5668\u672a\u88ab\u5360\u7528\u7684\u7aef\u53e3\n      - '81:81'  # \u5192\u53f7\u5de6\u8fb9\u53ef\u4ee5\u6539\u6210\u81ea\u5df1\u670d\u52a1\u5668\u672a\u88ab\u5360\u7528\u7684\u7aef\u53e3\n      - '443:443' # \u5192\u53f7\u5de6\u8fb9\u53ef\u4ee5\u6539\u6210\u81ea\u5df1\u670d\u52a1\u5668\u672a\u88ab\u5360\u7528\u7684\u7aef\u53e3\n    volumes:\n      - .\/data:\/data # \u5192\u53f7\u5de6\u8fb9\u53ef\u4ee5\u6539\u8def\u5f84\uff0c\u73b0\u5728\u662f\u8868\u793a\u628a\u6570\u636e\u5b58\u653e\u5728\u5728\u5f53\u524d\u6587\u4ef6\u5939\u4e0b\u7684 data \u6587\u4ef6\u5939\u4e2d\n      - .\/letsencrypt:\/etc\/letsencrypt  # \u5192\u53f7\u5de6\u8fb9\u53ef\u4ee5\u6539\u8def\u5f84\uff0c\u73b0\u5728\u662f\u8868\u793a\u628a\u6570\u636e\u5b58\u653e\u5728\u5728\u5f53\u524d\u6587\u4ef6\u5939\u4e0b\u7684 letsencrypt \u6587\u4ef6\u5939\u4e2d\n###########################xui################\nbash &lt;(curl -Ls https:\/\/raw.githubusercontent.com\/vaxilu\/x-ui\/master\/install.sh)\necho \"net.core.default_qdisc=fq\" >> \/etc\/sysctl.conf\necho \"net.ipv4.tcp_congestion_control=bbr\" >> \/etc\/sysctl.conf\nsysctl -p\nsudo docker run --name rstudio-4.1.3 \\\n    -d --restart always \\\n    -p 8787:8787 \\\n    -e USER=$(whoami) \\\n    -e PASSWORD=3 \\\n    -e USERID=$(id -u) \\\n    -e GROUPID=$(id -g) \\\n    -v \/home\/$(whoami)\/docker_rstudio_home:\/home\/$(whoami)\/docker_rstudio_home \\\n    linguopeng\/rstudio413clusterprofilerkeep<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>wsl &#8211;import Ubuntu-20.04 d:\\Wsl\\Ubuntu-20.04 D:\\W [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-379","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/379","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=379"}],"version-history":[{"count":44,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/379\/revisions"}],"predecessor-version":[{"id":824,"href":"https:\/\/linguopeng.top\/index.php?rest_route=\/wp\/v2\/posts\/379\/revisions\/824"}],"wp:attachment":[{"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=379"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=379"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linguopeng.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=379"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}