日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Docker安装ssh,supervisor等基础工具

發(fā)布時(shí)間:2023/11/29 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Docker安装ssh,supervisor等基础工具 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

Docker安裝ssh,supervisor等基礎(chǔ)工具

需要提前下載好官方的ubuntu鏡像,我這里使用的是ubuntu:14.04版本,這里安裝了一些基礎(chǔ)的工具ssh,curl,wget,vim等等,包括后續(xù)的Docker鏡像需要啟動多個(gè)服務(wù),所以提前先裝好supervisor。

Dockerfile文件

############################################ # version : birdben/tools:v1 # desc : 當(dāng)前版本安裝的ssh,wget,curl,supervisor ############################################ # 設(shè)置繼承自ubuntu官方鏡像 FROM ubuntu:14.04# 下面是一些創(chuàng)建者的基本信息 MAINTAINER birdben (191654006@163.com)# 注意這里要更改系統(tǒng)的時(shí)區(qū)設(shè)置,因?yàn)樵?web 應(yīng)用中經(jīng)常會用到時(shí)區(qū)這個(gè)系統(tǒng)變量,默認(rèn)的 ubuntu 會讓你的應(yīng)用程序發(fā)生不可思議的效果哦 ENV DEBIAN_FRONTEND noninteractive# 清空ubuntu更新包 RUN sudo rm -rf /var/lib/apt/lists/*# 一次性安裝vim,wget,curl,ssh server等必備軟件 # RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list RUN sudo apt-get update RUN sudo apt-get install -y vim wget curl openssh-server sudo RUN sudo mkdir -p /var/run/sshd# 將sshd的UsePAM參數(shù)設(shè)置成no RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config# 添加測試用戶admin,密碼admin,并且將此用戶添加到sudoers里 RUN useradd admin RUN echo "admin:admin" | chpasswd RUN echo "admin ALL=(ALL) ALL" >> /etc/sudoers# 把a(bǔ)dmin用戶的shell改成bash,否則SSH登錄Ubuntu服務(wù)器,命令行不顯示用戶名和目錄 RUN usermod -s /bin/bash admin# 安裝supervisor工具 RUN sudo apt-get install -y supervisor RUN sudo mkdir -p /var/log/supervisor# 添加 supervisord 的配置文件,并復(fù)制配置文件到對應(yīng)目錄下面。(supervisord.conf文件和Dockerfile文件在同一路徑) COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf# 容器需要開放SSH 22端口 EXPOSE 22# 執(zhí)行supervisord來同時(shí)執(zhí)行多個(gè)命令,使用 supervisord 的可執(zhí)行路徑啟動服務(wù)。 CMD ["/usr/bin/supervisord"]
  • ?

Dockerfile源文件鏈接:

  • https://github.com/birdben/birdDocker/blob/master/tools/Dockerfile

supervisor配置文件內(nèi)容

# 配置文件包含目錄和進(jìn)程 # 第一段 supervsord 配置軟件本身,使用 nodaemon 參數(shù)來運(yùn)行。 # 第二段包含要控制的 2 個(gè)服務(wù)。每一段包含一個(gè)服務(wù)的目錄和啟動這個(gè)服務(wù)的命令。[supervisord] nodaemon=true[program:sshd] command=/usr/sbin/sshd -D
  • ?

supervisor源文件鏈接:

  • https://github.com/birdben/birdDocker/blob/master/tools/supervisord.conf

控制臺終端

# 構(gòu)建鏡像 $ docker build -t="birdben/tools:v1" . # 運(yùn)行已經(jīng)構(gòu)件好的鏡像,因?yàn)槲沂褂玫膗buntu虛擬機(jī)安裝的Docker,而我的虛擬機(jī)也安裝了ssh服務(wù),所以這里指定了宿主機(jī)的端口為9999對應(yīng)Docker容器的22端口 $ docker run -p 9999:22 -t -i "birdben/tools:v1"# 此時(shí)查看宿主機(jī)的9999端口,已經(jīng)處于監(jiān)聽狀態(tài): $ netstat -aunpt (Not all processes could be identified, non-owned process infowill not be shown, you would have to be root to see it all.) Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - tcp6 0 0 :::9999 :::* LISTEN - tcp6 0 0 :::22 :::* LISTEN - # 再查看一下宿主機(jī)的IP地址,我這里的IP地址是10.211.55.4 $ ifconfig# 此時(shí)可以通過ssh遠(yuǎn)程連接Docker容器了 $ ssh root@10.211.55.4 -p 9999 # 輸入密碼應(yīng)該就可以連接到Docker容器了# 如果遇到下面的問題,這是Linux重裝或則openssh-server重裝引起的,執(zhí)行以下命令即可 $ ssh-keygen -R 10.211.55.4# 如果上述方式不好用,進(jìn)入此目錄,刪除的10.211.55.4相關(guān)rsa的信息即可 $ vi ~/.ssh/known_hosts@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by the remote host is 8c:4b:88:88:53:4a:b1:f0:e2:da:9a:dc:aa:67:46:df. Please contact your system administrator. Add correct host key in /Users/ben/.ssh/known_hosts to get rid of this message. Offending RSA key in /Users/ben/.ssh/known_hosts:18 RSA host key for [10.211.55.4]:9999 has changed and you have requested strict checking. Host key verification failed.
  • ?

遇到的問題和解決辦法

Q:ssh登錄后,命令行不顯示用戶名和目錄 A:把用戶的shell改成bash,否則SSH登錄Ubuntu服務(wù)器,命令行不顯示用戶名和目錄 RUN usermod -s /bin/bash admin參考: http://bbs.csdn.net/topics/390188284Q:ssh創(chuàng)建admin登錄用戶,不使用root登錄 A:這里使用ssh不建議直接使用root用戶登錄,建議創(chuàng)建一個(gè)新的用戶例如admin登錄 RUN useradd admin RUN echo "admin:admin" | chpasswd RUN echo "admin ALL=(ALL) ALL" >> /etc/sudoers參考: http://blog.csdn.net/kongxx/article/details/38395305 http://blog.csdn.net/kongxx/article/details/38412119Q:如何修改ssh服務(wù)相關(guān)配置 A:可以直接修改sshd_config配置文件 vi /etc/ssh/sshd_config 需要修改如下# 設(shè)置不允許root用戶登錄 PermitRootLogin yes# 利用 PAM 管理使用者認(rèn)證有很多好處,可以記錄與管理。 # 所以這里我們建議你使用 UsePAM 且 ChallengeResponseAuthentication 設(shè)定為 no,但是我們這里為了簡單設(shè)置為密碼認(rèn)證,ChallengeResponseAuthentication設(shè)定為yes,UsePAM設(shè)置為no ChallengeResponseAuthentication yes UsePAM no參考: http://my.oschina.net/fsmwhx/blog/143354 http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646032.html

轉(zhuǎn)載于:https://my.oschina.net/u/1442577/blog/829549

總結(jié)

以上是生活随笔為你收集整理的Docker安装ssh,supervisor等基础工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。