docker 基于golang鏡像構(gòu)建 ssh服務(wù)的方法
下面給大家介紹下docker 基于golang鏡像構(gòu)建 ssh服務(wù)的代碼,具體內(nèi)容如下所示:
# golang:latest鏡像 FROM ee23292e2826 # 作者 MAINTAINER dechao@qq.com # 添加Golang環(huán)境變量 ENV GOPROXY https://goproxy.cn,direct ENV GO111MODULE on # 配置apt-get源 ADD sources.list /etc/apt/ # 更新apt-get源 安裝ssh服務(wù) 修改root密碼 配置ssh服務(wù)允許root遠(yuǎn)程登錄 寫"開啟ssh服務(wù) 寫地址信息到/root/ip.txt 并tail -f"到/root/ip.sh 賦予ip.sh執(zhí)行權(quán)限 RUN apt-get update \ && apt-get -y install ssh \ && echo "root:1" | chpasswd \ && echo "PermitRootLogin yes" >> /etc/ssh/sshd_config \ && echo "service ssh start && ip addr | grep global > /root/ip.txt && tail -f /root/ip.txt" > /root/ip.sh \ && chmod +x /root/ip.sh # 啟動(dòng)時(shí)執(zhí)行 ENTRYPOINT ["sh","-l"] CMD ["/root/ip.sh"]
-p 主機(jī)地址:主機(jī)端口:容器端口
-v 主機(jī)卷:容器卷
docker run -itd -p 2222:22 -v /root/fserver/:/go/src/fserver 4618
PS:基于CentOS下sshd和golang環(huán)境的Docker
1、Dockerfile文件
#繼承centos7鏡像 FROM centos:centos7 MAINTAINER tpythoner tpythoner@gmail.com" #yum安裝sshd服務(wù) #RUN yum install -y openssh openssh-server openssh-clients RUN yum install -y openssh-server #創(chuàng)建sshd RUN mkdir /var/run/sshd RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key #設(shè)置root密碼以及添加tpythoner用戶 RUN /bin/echo 'root:mypwd' |chpasswd RUN useradd tpythoner RUN /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/sshd RUN /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 /root ADD golang.conf /root/golang.conf RUN 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/profile RUN cat /root/golang.conf >> /etc/profile RUN echo "source /etc/profile" >> /root/.bashrc RUN mkdir -p /home/golang #開發(fā)端口 EXPOSE 22 EXPOSE 80 #啟動(dòng)sshd服務(wù) CMD /usr/sbin/sshd -D
2、golang.conf
export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin export PATH=$PATH:$GOBIN export 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、創(chuàng)建新的docker images
docker build -rm -t centos:go_sshd .
5、運(yùn)行鏡像生成容器
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
到此這篇關(guān)于docker 基于golang鏡像構(gòu)建 ssh服務(wù)的文章就介紹到這了,更多相關(guān)docker構(gòu)建 ssh服務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
阿里云ECS部署Docker服務(wù)的實(shí)現(xiàn)步驟
本文主要介紹了阿里云ECS部署Docker服務(wù)的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目詳解
bridge模式是Docker默認(rèn)的網(wǎng)絡(luò)設(shè)置,此模式會(huì)為每一個(gè)容器分配Network Namespace、設(shè)置IP等,并將一個(gè)主機(jī)上的Docker容器連接到一個(gè)虛擬網(wǎng)橋上,下面這篇文章主要給大家介紹了關(guān)于Docker網(wǎng)絡(luò)配置及部署SpringCloud項(xiàng)目的相關(guān)資料,需要的朋友可以參考下2023-01-01修改docker容器端口映射到主機(jī)的方法實(shí)現(xiàn)
Docker容器的端口映射是通過docker run命令來啟動(dòng)容器,并指定端口映射參數(shù),本文主要介紹了修改docker容器端口映射到主機(jī)的方法實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-09-09