docker容器里安裝ssh的具體步驟
docker安裝ssh
通過命令行安裝
1.pull ubuntu鏡像
docker pull ubuntu:latest
2.啟動(dòng)并進(jìn)入bash
docker run -it -d ubuntu:lastest /bin/bash # 查看剛剛運(yùn)行容器的id docker ps # 在容器中執(zhí)行bash命令 docker exec -it id /bin/bash
3.安裝openssh-server并啟動(dòng)
apt-get update apt-get install openssh-server # 啟動(dòng)之前需手動(dòng)創(chuàng)建/var/run/sshd,不然啟動(dòng)sshd的時(shí)候會(huì)報(bào)錯(cuò) mkdir -p /var/run/sshd # sshd以守護(hù)進(jìn)程運(yùn)行 /usr/sbin/sshd -D & # 安裝netstat,查看sshd是否監(jiān)聽22端口 apt-get install net-tools netstat -apn | grep ssh
如果已經(jīng)監(jiān)聽22端口,說明sshd服務(wù)啟動(dòng)成功
4.ssh登陸
# 生成ssh key ssh-keygen -t rsa # 修改sshd-config允許root登陸 sed -i 's+PermitRootLogin prohibit-password+PermitRootLogin yes' /etc/ssh/sshd-config
修改完sshd-config之后需要重啟sshd服務(wù)
// 找到pid ps -aux | grep ssh kill -9 pid /usr/sbin/sshd -D &
查看容器ip
ifconfig
在主機(jī)上進(jìn)行登陸
ssh root@ip
就可以登錄成功了,但是注意這里是docker容器的宿主機(jī)才能登陸成功,如果需要其他機(jī)器登陸,可以在啟動(dòng)docker的時(shí)候進(jìn)行端口映射
// 11122宿主機(jī)端口,22為容器端口 docker run -it -p 11122:22 // 在其他機(jī)器上可以使用以下命令登陸,假設(shè)宿主機(jī)ip為192.168.1.101 ssh -p 11122 root@192.168.1.101
5.保存容器
// 把id為id的容器保存 docker commit id sshd:ubuntu // 停止容器 docker stop id
通過dockerfile
# 以最新的Ubuntu鏡像為模板 FROM ubuntu:latest // 將本目錄下的sources.list作為容器的一個(gè)文件 ADD sources.list /root/sources.list // 使用阿里Ubuntu源,更新快 RUN cp /root/sources.list /etc/apt/sources.list.d/aliyun.list RUN apt-get update RUN apt-get install -y openssh-server RUN apt-get install -y net-tools RUN apt-get install -y vim RUN mkdir -p /var/run/sshd RUN mkdir -p mkdir/root/.ssh/ // 修改root密碼,便于遠(yuǎn)程登錄 RUN echo root:123456 | chpasswd // 將key生成在指定文件內(nèi) RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -P '' -N '' // 配置ssh可以使用root登陸 RUN sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/' /etc/ssh/sshd_config // 開放22端口 EXPOSE 22 CMD /usr/sbin/sshd -D &
根據(jù)Dockerfile build鏡像
docker build -t nginx:ubuntu .
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Docker安裝部署RabbitMQ的實(shí)現(xiàn)步驟
RabbitMQ是一款開源的消息隊(duì)列中間件,能夠在分布式系統(tǒng)中實(shí)現(xiàn)可靠的消息傳遞,本文主要介紹了Docker安裝部署RabbitMQ的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10docker 動(dòng)態(tài)映射運(yùn)行的container端口實(shí)例詳解
這篇文章主要介紹了 docker 動(dòng)態(tài)映射運(yùn)行的container端口實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-10-10Docker鏡像推送(push)到Docker Hub的實(shí)現(xiàn)
這篇文章主要介紹了Docker鏡像推送(push)到Docker Hub的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09如何搭建配置Docker私有倉庫的實(shí)現(xiàn)步驟
本文主要介紹了如何搭建配置Docker私有倉庫的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07prometheus監(jiān)控節(jié)點(diǎn)程序的安裝及卸載命令
這篇文章主要為大家介紹了prometheus監(jiān)控節(jié)點(diǎn)程序的安裝及卸載命令,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06親手教你Docker Compose安裝DOClever的詳細(xì)過程
DOClever是一個(gè)可視化免費(fèi)開源的接口管理工具,DOClever前后端全部采用了javascript來作為我們的開發(fā)語言。這篇文章主要介紹了Docker Compose安裝DOClever的詳細(xì)過程,需要的朋友可以參考下2021-09-09