{"id":532,"date":"2021-12-22T06:32:27","date_gmt":"2021-12-22T06:32:27","guid":{"rendered":"http:\/\/emacslisp.com\/?p=532"},"modified":"2021-12-22T06:32:27","modified_gmt":"2021-12-22T06:32:27","slug":"docker-setup-git-ssh-server-using-docker","status":"publish","type":"post","link":"http:\/\/emacslisp.com\/?p=532","title":{"rendered":"Docker &#8211; Setup git ssh server using docker"},"content":{"rendered":"<pre lang=\"dockerfile\" line=\"1\">\r\nFROM ubuntu:18.04\r\n\r\nENV TZ=Australia\/Sydney\r\nRUN ln -snf \/usr\/share\/zoneinfo\/$TZ \/etc\/localtime && echo $TZ > \/etc\/timezone\r\n\r\nRUN apt-get update\r\nRUN apt-get install -y bash git python3 g++ curl vim openssh-server sudo\r\n\r\n\r\nRUN addgroup --gid 9999 git && adduser --uid 9999 --gid 9999 --shell \/usr\/bin\/git-shell git\r\nRUN addgroup --gid 9000 xxx && adduser --uid 9000 --gid 9000 --shell \/bin\/bash xxx\r\n\r\nRUN echo git:password | chpasswd\r\nRUN echo xxx:password | chpasswd\r\n\r\nRUN mkdir -p \/home\/git\r\nRUN mkdir -p \/home\/xxx\r\n\r\nRUN chown -Rh git:git \/home\/git\r\n\r\nCOPY sshd_config \/etc\/ssh\/sshd_config\r\n\r\nEXPOSE 22\r\n\r\nENTRYPOINT service ssh restart && bash\r\n\r\nCMD [\"\/bin\/bash\"]\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>FROM ubuntu:18.04 ENV TZ=Australia\/Sydney RUN ln -snf \/usr\/share\/zoneinfo\/$TZ \/etc\/localtime &#038;&#038; echo $TZ > \/etc\/timezone RUN apt-get update RUN apt-get install -y bash git python3 g++ curl vim openssh-server sudo RUN addgroup &#8211;gid 9999 git &#038;&#038; adduser &#8211;uid 9999 &#8211;gid 9999 &#8211;shell \/usr\/bin\/git-shell git RUN addgroup &#8211;gid 9000 xxx &#038;&#038; adduser &#8211;uid 9000 &#8211;gid 9000 &#8211;shell [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[],"class_list":["post-532","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/532","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=532"}],"version-history":[{"count":1,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/532\/revisions"}],"predecessor-version":[{"id":533,"href":"http:\/\/emacslisp.com\/index.php?rest_route=\/wp\/v2\/posts\/532\/revisions\/533"}],"wp:attachment":[{"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=532"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=532"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/emacslisp.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=532"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}