中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用Dockerfile構建SSH Server

發布時間:2021-12-13 17:46:39 來源:億速云 閱讀:379 作者:小新 欄目:云計算

這篇文章主要介紹了怎么用Dockerfile構建SSH Server,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一. 相關的文件

1. 新建一個目錄和一個 Dockerfile
mkdir y109-sshd
vim Dockerfile
2. Dockerfile 的內容如下
# docker sshd
FROM ubuntu:14.04
MAINTAINER y109<y109@qq.com>

# 使用 163.com 的源
COPY sources.list.163.txt /etc/apt/sources.list
RUN apt-get -y update

# 設置 root 密碼
RUN echo 'root:bMg5kesfdsfesx9gD' | chpasswd

# 安裝 openssh-server
RUN apt-get -y install openssh-server
RUN mkdir /var/run/sshd

# SSH login fix. Otherwise user is kicked off after login
RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
#
# ENV NOTVISIBLE "in users profile"
RUN echo "export VISIBLE=now" >> /etc/profile

# 添加公鑰(如果沒有公鑰可以省略)
RUN mkdir /root/.ssh
RUN echo 'ssh-rsa YOU_PUB_KEY' > /root/authorized_keys

# 容器啟動后運行的程序
CMD ["/usr/sbin/sshd", "-D"]

# 打開 22 端口
EXPOSE 22

sources.list.163.txt 的內容如下

deb http://mirrors.163.com/ubuntu/ precise main restricted
deb-src http://mirrors.163.com/ubuntu/ precise main restricted

deb http://mirrors.163.com/ubuntu/ precise-updates main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-updates main restricted

deb http://mirrors.163.com/ubuntu/ precise universe
deb-src http://mirrors.163.com/ubuntu/ precise universe
deb http://mirrors.163.com/ubuntu/ precise-updates universe
deb-src http://mirrors.163.com/ubuntu/ precise-updates universe

deb http://mirrors.163.com/ubuntu/ precise-security main restricted
deb-src http://mirrors.163.com/ubuntu/ precise-security main restricted
deb http://mirrors.163.com/ubuntu/ precise-security universe
deb-src http://mirrors.163.com/ubuntu/ precise-security universe

二.構建 Image

使用 docker build 來生成鏡像
-t 參數是給這個鏡像的 TAG

sudo docker build -t 'y109/sshd' ./
Sending build context to Docker daemon 4.608 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu:14.04
 ---> 9cbaf023786c
Step 1 : MAINTAINER y109<y109@qq.com>
 ---> Using cache
 ---> 2256ab1cc931
Step 2 : COPY sources.list.163.txt /etc/apt/sources.list
 ---> Using cache
 ---> 65536ca26964
Step 3 : RUN apt-get -y update
 ---> Using cache
 ---> 60639e42f098
Step 4 : RUN echo 'root:pass123456' | chpasswd
 ---> Using cache
 ---> 8644dd20854f
Step 5 : RUN apt-get -y install openssh-server
 ---> Using cache
 ---> 98039327bca7
Step 6 : RUN mkdir /var/run/sshd
 ---> Using cache
 ---> 9bd3b3fc7828
Step 7 : RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
 ---> Using cache
 ---> d748cb9428a0
Step 8 : RUN echo "export VISIBLE=now" >> /etc/profile
 ---> Using cache
 ---> e975cd819243
Step 9 : RUN mkdir /root/.ssh
 ---> Using cache
 ---> e561acc07675
Step 10 : RUN echo 'ssh-rsa YOU_PUBLIC_KEY'
 ---> Using cache
 ---> 8f6882a72037
Step 11 : CMD ["/usr/sbin/sshd", "-D"]
 ---> Using cache
 ---> 48cbd2c4aa70
Step 12 : EXPOSE 22
 ---> Using cache
 ---> 3101a36f0084
Successfully built 3101a36f0084

使用 docker images 命令查看鏡像, 確認鏡像構建成功了

sudo docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
y109/sshd           latest              3101a36f0084        22 minutes ago      226.1 MB
<none>              <none>              23f604e547b8        28 minutes ago      226.1 MB
<none>              <none>              50647a1fb746        36 minutes ago      226.1 MB
y
...

y109/sshd就是我們剛才構建的鏡像

三.創建 Container

使用 docker run 來用鏡像創建一個 Container

-d : Detached mode, 使 Container 在 background 模式運行
-p : 把 22 端口映射到主機的網卡上, 格式: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort
–name : 給 Container 指定一個名字, 一旦指定了名稱這個名稱就和這個 Container 綁定了, 可以用 docker ps -a 列出來

sudo docker run -d -p 10922:22 --name y109-sshd y109/sshd
我用的外網端口是 10922, 可以根據需要修改, 下一步需要確認 Container 是否正常執行了

sudo docker ps
CONTAINER ID        IMAGE               COMMAND               CREATED             STATUS              PORTS                   NAMES
fc37b83d343e        y109/sshd:latest    "/usr/sbin/sshd -D"   9 seconds ago       Up 9 seconds        0.0.0.0:10922->22/tcp   y109-sshd

看來執行成功了, 連接試試看看

ssh root@localhost -p10922
The authenticity of host '[localhost]:10922 ([127.0.0.1]:10922)' can't be established.
ECDSA key fingerprint is 4d:48:5c:61:54:d6:8f:62:70:a2:0e:ab:b7:1a:cb:f7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[localhost]:10922' (ECDSA) to the list of known hosts.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@80f07ad418fe:~#

已經成功連接進入 Container 了

四.關閉 Container

sudo docker stop fc3 fc3 是 Container Id fc37b83d343e 的縮寫, 只要能夠唯一標識這個 Container 就可以了。或者sudo docker stop y109-sshd

五.運行 Container

sudo docker start y109-sshd

感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么用Dockerfile構建SSH Server”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

共和县| 大姚县| 松桃| 舒兰市| 新干县| 武义县| 文成县| 梨树县| 安岳县| 商河县| 思茅市| 金门县| 同仁县| 都江堰市| 法库县| 徐闻县| 化隆| 伊吾县| 铁力市| 义马市| 郧西县| 涟源市| 渭南市| 嘉峪关市| 明水县| 德化县| 康平县| 木兰县| 安新县| 循化| 新巴尔虎右旗| 天全县| 松滋市| 大港区| 玛纳斯县| 德格县| 准格尔旗| 台北市| 景德镇市| 长治市| 陆河县|