這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
1、Dockerfile檔案
#繼承centos7鏡像FROM centos:centos7MAINTAINER tpythoner tpythoner@gmail.com"#yum安裝sshd服務#RUN yum install -y openssh openssh-server openssh-clientsRUN yum install -y openssh-server#建立sshdRUN mkdir /var/run/sshdRUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_keyRUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key#設定root密碼以及添加tpythoner使用者RUN /bin/echo 'root:mypwd' |chpasswdRUN useradd tpythonerRUN /bin/echo 'tpythoner:mypwd' |chpasswd#取消pam限制RUN /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshdRUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/local#安裝golang#RUN yum install -y wget#RUN wget http://golangtc.com/static/go/go1.4.2.linux-amd64.tar.gz#RUN tar zxvf go1.4.2.linux-amd64.tar.gz -C /usr/local/ADD go1.4.2.linux-amd64.tar.gz /rootADD golang.conf /root/golang.confRUN mv /root/go /usr/local/#RUN echo "export GOROOT=/usr/local/go" >> /etc/profile#RUN echo "export GOBIN=$GOROOT/bin" >> /etc/profile#RUN echo "export PATH=$PATH:$GOBIN" >> /etc/profile#RUN echo "export GOPATH=/home/golang" >> /etc/profileRUN cat /root/golang.conf >> /etc/profileRUN echo "source /etc/profile" >> /root/.bashrcRUN mkdir -p /home/golang#開發連接埠EXPOSE 22EXPOSE 80#啟動sshd服務CMD /usr/sbin/sshd -D
2、golang.conf
export GOROOT=/usr/local/goexport GOBIN=$GOROOT/binexport PATH=$PATH:$GOBINexport GOPATH=/home/golang
3、下載go1.4.2.linux-amd64.tar.gz
wget http://golangtc.com/static/go/go1.4.2.linux-amd64.tar.gz
4、建立新的docker images
docker build -rm -t centos:go_sshd .
5、運行鏡像產生容器
docker run -d -p 2222:22 -p 80:80 centos:go_sshd#如果遇到WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!echo '' >> ~/.ssh/known_hosts
6、串連go_sshd容器
ssh root@192.168.59.103 -p 2222 #ip為容器ip 密碼為Dockerfile中的:mypwd