• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
poney 显示全部楼层 发表于 2021-8-14 14:40:58 |阅读模式 打印 上一主题 下一主题
下面给各人先容下docker 基于golang镜像构建 ssh服务的代码,具体内容如下所示:
  1. # golang:latest镜像
  2. FROM ee23292e2826
  3. # 作者
  4. MAINTAINER dechao@qq.com
  5. # 添加Golang环境变量
  6. ENV GOPROXY https://goproxy.cn,direct
  7. ENV GO111MODULE on
  8. # 配置apt-get源
  9. ADD sources.list /etc/apt/
  10. # 更新apt-get源 安装ssh服务 修改root密码 配置ssh服务允许root远程登录 写"开启ssh服务 写地址信息到/root/ip.txt 并tail -f"到/root/ip.sh 赋予ip.sh执行权限
  11. RUN apt-get update \
  12. && apt-get -y install ssh \
  13. && echo "root:1" | chpasswd  \
  14. && echo "PermitRootLogin yes" >> /etc/ssh/sshd_config \
  15. && echo "service ssh start && ip addr | grep global > /root/ip.txt && tail -f /root/ip.txt" > /root/ip.sh \
  16. && chmod +x /root/ip.sh
  17. # 启动时执行
  18. ENTRYPOINT ["sh","-l"]
  19. CMD ["/root/ip.sh"]
复制代码
  1. -p 主机地址:主机端口:容器端口
  2. -v 主机卷:容器卷
  3. docker run -itd -p 2222:22 -v /root/fserver/:/go/src/fserver 4618
复制代码
PS:基于CentOS下sshd和golang情况的Docker
1、Dockerfile文件
  1. #继承centos7镜像
  2. FROM        centos:centos7
  3. MAINTAINER  tpythoner tpythoner@gmail.com"
  4. #yum安装sshd服务
  5. #RUN         yum install -y openssh openssh-server openssh-clients
  6. RUN         yum install -y openssh-server
  7. #创建sshd
  8. RUN         mkdir /var/run/sshd
  9. RUN         ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
  10. RUN         ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
  11. #设置root密码以及添加tpythoner用户
  12. RUN         /bin/echo 'root:mypwd' |chpasswd
  13. RUN         useradd tpythoner
  14. RUN         /bin/echo 'tpythoner:mypwd' |chpasswd
  15. #取消pam限制
  16. RUN         /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
  17. RUN         /bin/echo -e "LANG="en_US.UTF-8"" > /etc/default/local
  18. #安装golang
  19. #RUN                    yum install -y wget
  20. #RUN                    wget http://golangtc.com/static/go/go1.4.2.linux-amd64.tar.gz
  21. #RUN                    tar zxvf go1.4.2.linux-amd64.tar.gz -C /usr/local/
  22. ADD                     go1.4.2.linux-amd64.tar.gz /root
  23. ADD                     golang.conf /root/golang.conf
  24. RUN                     mv /root/go /usr/local/
  25. #RUN                    echo "export GOROOT=/usr/local/go" >> /etc/profile
  26. #RUN                    echo "export GOBIN=$GOROOT/bin" >> /etc/profile
  27. #RUN                    echo "export PATH=$PATH:$GOBIN" >> /etc/profile
  28. #RUN                    echo "export GOPATH=/home/golang" >> /etc/profile
  29. RUN                     cat /root/golang.conf >> /etc/profile
  30. RUN                     echo "source /etc/profile" >> /root/.bashrc
  31. RUN                     mkdir -p /home/golang
  32. #开发端口
  33. EXPOSE      22
  34. EXPOSE      80
  35. #启动sshd服务
  36. CMD                     /usr/sbin/sshd -D
复制代码
2、golang.conf
  1. export GOROOT=/usr/local/go
  2. export GOBIN=$GOROOT/bin
  3. export PATH=$PATH:$GOBIN
  4. export GOPATH=/home/golang
复制代码
3、下载go1.4.2.linux-amd64.tar.gz
  1. wget http://golangtc.com/static/go/go1.4.2.linux-amd64.tar.gz
复制代码
4、创建新的docker images
  1. docker build -rm -t centos:go_sshd .
复制代码
5、运行镜像天生容器
  1. docker run -d -p 2222:22 -p 80:80 centos:go_sshd
  2. #如果遇到WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
  3. echo '' >> ~/.ssh/known_hosts
复制代码
6、毗连go_sshd容器
  1. ssh root@192.168.59.103 -p 2222    #ip为容器ip 密码为Dockerfile中的:mypwd
复制代码
到此这篇关于docker 基于golang镜像构建 ssh服务的文章就先容到这了,更多相关docker构建 ssh服务内容请搜索脚本之家从前的文章或继续欣赏下面的相关文章希望各人以后多多支持脚本之家!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作