您当前的位置:首页 > 网站建设 > 网站维护
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery |

docker 基于golang镜像构建 ssh服务的方法

51自学网 2022-07-04 11:31:34
  网站维护

下面给大家介绍下docker 基于golang镜像构建 ssh服务的代码,具体内容如下所示:

# golang:latest镜像FROM ee23292e2826# 作者MAINTAINER dechao@qq.com# 添加Golang环境变量ENV GOPROXY https://goproxy.cn,directENV GO111MODULE on# 配置apt-get源ADD sources.list /etc/apt/# 更新apt-get源 安装ssh服务 修改root密码 配置ssh服务允许root远程登录 写"开启ssh服务 写地址信息到/root/ip.txt 并tail -f"到/root/ip.sh 赋予ip.sh执行权限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# 启动时执行ENTRYPOINT ["sh","-l"]CMD ["/root/ip.sh"]

-p 主机地址:主机端口:容器端口
-v 主机卷:容器卷
docker run -itd -p 2222:22 -v /root/fserver/:/go/src/fserver 4618

PS:基于CentOS下sshd和golang环境的Docker

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


下载地址:
nginx配置虚拟主机的详细步骤
docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1