Dockerfile Centos7 安裝wget gcc vim vi openssh 並默認啟動ssh


Dockerfile 文檔內容

#設置基本的鏡像,后續命令都以這個鏡像為基礎
FROM ansible/centos7-ansible:latest
#作者信息
MAINTAINER JPinsz
#安裝wget命令
RUN yum clean all
RUN yum makecache fast
RUN yum install wget -y
#刪除默認YUM源,使用YUM源為國內163 YUM源;
RUN rm -rf /etc/yum.repos.d/*;wget -P /etc/yum.repos.d/ http://mirrors.163.com/.help/CentOS7-Base-163.repo
#RUN命令會在上面指定的鏡像里執行任何命令
RUN yum install passwd openssh-server gcc -y
#修改root密碼為1qaz@WSX

RUN echo '123' | passwd --stdin root
#設置鏡像SSHD服務為TCP 6022端口
RUN sed -i 's/#Port.*/Port 6022/g' /etc/ssh/sshd_config
#安裝vi、vim、wget、tar、make、netstat、ifconfig等
RUN yum install vi vim wget tar make net-tools -y
#創建用於存儲應用數據目錄/data/
RUN mkdir -p /data/
#將應用數據存儲目錄/data/進行映射,可以實現數據持久化保存;
VOLUME ["/data/"]
#暴露ssh端口6022
EXPOSE 6022
#設定運行鏡像時的默認命令,並以daemon方式啟動sshd
#基於鏡像運行啟動時,啟動SSHD服務,能夠實現遠程訪問
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
CMD /usr/sbin/sshd -D

 鏡像制作

docker bulid -t centos7:v1 .

 查看鏡像

docker images

 

 

 啟動容器

# -d –detach daemon后台模式運行容器,並且打印容器id。
# -i –interactive 即使沒有連接,也要保持標准輸入保持打開狀態,一般與 -t 連用
# -t –tty 分配一個偽tty,一般與 -i 連用。
# -v 指定宿主機到容器的目錄掛載
# --privileged 授予容器最高權限運行
docker run -itd --privileged -v /data/:/data/ centos7:v1

 登錄到容器

# 其中/bin/bah 與 bash 暫時來說效果一致
docker exec -it docker-id /bin/bash

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM