{"id":5354,"date":"2025-01-09T08:55:20","date_gmt":"2025-01-09T00:55:20","guid":{"rendered":"https:\/\/benson80.eu.org\/?p=5354"},"modified":"2025-01-10T11:37:36","modified_gmt":"2025-01-10T03:37:36","slug":"%e5%9f%ba%e4%ba%8e-docker-%e9%83%a8%e7%bd%b2%e7%9a%84-ubuntu-%e6%a1%8c%e9%9d%a2%e7%8e%af%e5%a2%83","status":"publish","type":"post","link":"https:\/\/benson80.eu.org\/?p=5354","title":{"rendered":"\u57fa\u4e8e Docker \u90e8\u7f72\u7684 Ubuntu \u684c\u9762\u73af\u5883"},"content":{"rendered":"\n<p>Github\u5730\u5740\uff1a<a href=\"https:\/\/github.com\/gezp\/docker-ubuntu-desktop\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/gezp\/docker-ubuntu-desktop<\/a><\/p>\n\n\n\n<p>\u8be5\u9879\u76ee\u63d0\u4f9b\u4e86\u4e00\u4e2a\u652f\u6301 ubuntu \u684c\u9762\uff08xfce4\uff0c\u8f7b\u91cf\u7ea7\uff0c\u5feb\u901f\u4e14\u5360\u7528\u7cfb\u7edf\u8d44\u6e90\u5c11\uff09\u7684 docker \u955c\u50cf\uff0c\u4ee5\u4fbf\u60a8\u53ef\u4ee5\u5728\u5bb9\u5668\u4e2d\u8fd0\u884c\u865a\u62df ubuntu \u684c\u9762\uff0c\u60a8\u53ef\u4ee5\u50cf\u865a\u62df\u673a\u4e00\u6837\u4f7f\u7528 ssh \u6216\u8fdc\u7a0b\u684c\u9762\u8bbf\u95ee\u5b83\u3002<\/p>\n\n\n\n<p>xfce4\u684c\u9762\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"482\" src=\"https:\/\/benson80.eu.org\/wp-content\/uploads\/2025\/01\/image-4-1024x482.png\" alt=\"\" class=\"wp-image-5358\" srcset=\"https:\/\/benson80.eu.org\/wp-content\/uploads\/2025\/01\/image-4-1024x482.png 1024w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2025\/01\/image-4-300x141.png 300w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2025\/01\/image-4-768x362.png 768w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2025\/01\/image-4-421x198.png 421w, https:\/\/benson80.eu.org\/wp-content\/uploads\/2025\/01\/image-4.png 1274w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u5feb\u901f\u542f\u52a8<\/h2>\n\n\n\n<p>\u62c9\u53d6 docker \u955c\u50cf<\/p>\n\n\n\n<p>docker pull gezp\/ubuntu-desktop:24.04-cu12.6.2<\/p>\n\n\n\n<p>\u56fd\u5185\u7528\u6237\u53ef\u4f7f\u7528\u963f\u91cc\u4e91\u4ed3\u5e93<\/p>\n\n\n\n<p>docker pull registry.cn-hongkong.aliyuncs.com\/gezp\/ubuntu-desktop:24.04-cu12.6.2<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u521b\u5efa\u5bb9\u5668<\/h2>\n\n\n\n<pre class=\"wp-block-preformatted\"># create container with nomachine\ndocker run -d --restart=on-failure --name myubuntu --shm-size=1024m -e USER=ubuntu -e PASSWORD=ubuntu -p 10022:22 -p 14000:4000 -p 15000:5000 gezp\/ubuntu-desktop:24.04-cu12.6.2\n\n# create container with kasmvnc\/novnc\ndocker run -d --restart=on-failure --name myubuntu --shm-size=1024m -e USER=ubuntu -e PASSWORD=ubuntu -e REMOTE_DESKTOP=kasmvnc -p 10022:22 -p 14000:4000 -p 15000:5000 gezp\/ubuntu-desktop:24.04-cu12.6.2\n\n\u9ed8\u8ba4\u7528\u6237\u540d\u548c\u5bc6\u7801\u90fd\u662fubuntu\u3002<\/pre>\n\n\n\n<p>\u901a\u8fc7 ssh \u8bbf\u95ee\u5bb9\u5668<\/p>\n\n\n\n<p>ssh ubuntu@host-ip -p 10022<\/p>\n\n\n\n<p>\u5efa\u8bae\u4f7f\u7528 vscode + \u8fdc\u7a0b ssh \u63d2\u4ef6<\/p>\n\n\n\n<p>\u901a\u8fc7\u8fdc\u7a0b\u684c\u9762\u8bbf\u95ee\u5bb9\u5668\uff08nomachine\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e0b\u8f7d\u5e76\u5b89\u88c5<a href=\"https:\/\/www.nomachine.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">nomachine\u8f6f\u4ef6<\/a>\u3002<\/li>\n\n\n\n<li>ip\u4e3a\u5bbf\u4e3b\u673a\u7684ip\uff0c\u7aef\u53e3\u4e3a14000\u3002<\/li>\n<\/ul>\n\n\n\n<p>\u901a\u8fc7\u8fdc\u7a0b\u684c\u9762\u8bbf\u95ee\u5bb9\u5668\uff08kasmvnc\/novnc\uff09<\/p>\n\n\n\n<p>\u4f7f\u7528\u6d4f\u89c8\u5668\u8bbf\u95ee<br><code>https:\/\/&lt;host-ip&gt;:14000<\/code>\uff08\u5efa\u8bae\u4f7f\u7528chrome\uff09<\/p>\n\n\n\n<p><code>novnc<\/code>\u57fa\u4e8e<a href=\"https:\/\/github.com\/TurboVNC\/turbovnc\" target=\"_blank\" rel=\"noreferrer noopener\">TurboVNC<\/a>&nbsp;+&nbsp;<a href=\"https:\/\/github.com\/novnc\/noVNC\" target=\"_blank\" rel=\"noreferrer noopener\">noVNC<\/a>\u7684\u63d0\u793a\u9009\u9879\uff0c\u5b83\u4eec\u662f\u514d\u8d39\u7684\u5f00\u6e90\u8f6f\u4ef6\u3002<\/p>\n\n\n\n<p>moachine\/kasmvnc\/novnc \u7684\u529f\u80fd\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>moachine\uff1a\u9700\u8981\u5ba2\u6237\u7aef\u8f6f\u4ef6\u6765\u8bbf\u95ee\u8fdc\u7a0b\u684c\u9762\uff0c\u5e76\u652f\u6301\u97f3\u9891\u3001\u4e0a\u4f20\u3001\u4e0b\u8f7d\u3002<\/li>\n\n\n\n<li>kasmvnc\/novnc\uff1a\u63d0\u4f9b\u57fa\u4e8e\u7f51\u7edc\u7684\u8fdc\u7a0b\u684c\u9762\u8bbf\u95ee\uff0c\u4f46\u4e0d\u652f\u6301\u97f3\u9891\u3001\u4e0a\u4f20\u3001\u4e0b\u8f7d\u548c\u9ea6\u514b\u98ce\u76f4\u901a\u3002<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/github.com\/coder\/code-server\" target=\"_blank\" rel=\"noreferrer noopener\">\u901a\u8fc7\u4ee3\u7801\u670d\u52a1\u5668<\/a>\u8bbf\u95ee\u5bb9\u5668\uff08\u6d4f\u89c8\u5668\u4e2d\u7684 VS Code\uff09<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4f7f\u7528\u6d4f\u89c8\u5668\u8bbf\u95ee<code>https:\/\/&lt;host-ip&gt;:15000<\/code>\uff08\u5efa\u8bae\u4f7f\u7528chrome\uff09<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u8bbe\u7f6e\u4e2d\u6587\u73af\u5883<\/h2>\n\n\n\n<p>docker exec -it myubuntu bash<\/p>\n\n\n\n<p>apt update &amp;&amp; apt upgrade -y<br>apt install -y language-pack-zh-hans<br>update-locale LANG=zh_CN.UTF-8<br>exit<\/p>\n\n\n\n<p>docker restart myubuntu<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Github\u5730\u5740\uff1ahttps:\/\/github.c &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20,6],"tags":[],"class_list":["post-5354","post","type-post","status-publish","format-standard","hentry","category-docker","category-linux"],"_links":{"self":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/5354","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5354"}],"version-history":[{"count":20,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/5354\/revisions"}],"predecessor-version":[{"id":5381,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=\/wp\/v2\/posts\/5354\/revisions\/5381"}],"wp:attachment":[{"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5354"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5354"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/benson80.eu.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5354"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}