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