1. 程式人生 > 實用技巧 >Docker映象製作

Docker映象製作

1 基於容器製作映象

 ssh例子:
 [root@docker ~]# docker rm -f `docker ps -qa`
 [root@docker ~]# docker run -it --name "oldguo_sshv1" centos:6.9 /bin/bash

# 登入系統設定密碼, 配置本地區域網yum源後安裝ssh服務並啟動 [root@df8386465269
/]# passwd mv /etc/yum.repos.d/*.repo /tmp echo -e "[ftp]\nname=ftp\nbaseurl=ftp://10.0.0.110/pub/centos6\ngpgcheck=0">/etc/yum.repos.d/ftp.repo yum makecache fast && yum install openssh-server -y /etc/init.d/sshd start ----->重要:ssh第一次啟動時,需要生成祕鑰,生成pam驗證配置檔案 /etc/init.d/sshd stop "hang" 執行sshd,並丟到後臺 /usr/sbin/sshd -D ------>重要: 該命令會以前臺方式執行啟動ssh服務並夯住視窗(在啟動容器時可指定命令) docker commit oldguo_sshv1 oldguo/sshd:v1
# commit一個容器為映象; docker commit 容器名 映象名(oldguo/sshd):tar
思考: 以上基於容器製作的映象, 使用該映象啟動為容器後, 該容器只不過比原來的centos多了sshd服務, 並且該服務還沒有啟動(當然yum源也變了).
因為我們啟動容器只是單純的啟動了, 沒有讓容器執行任何程序, 如不使用it互動啟動的話, 還是會在啟動的瞬間就結束的.
如何讓其在啟動後第一時間就執行我們指定的命令呢(比如啟動ssh服務)?
docker container run -d --name=name 容器id /usr/sbin/sshd -D  ------>指定啟動容器時執行的命令


66