docker 跨主机的网络通信(docker 基于golang镜像构建 ssh服务的方法)
类别:服务器 浏览量:2676
时间:2021-10-09 00:43:38 docker 跨主机的网络通信
docker 基于golang镜像构建 ssh服务的方法下面给大家介绍下docker 基于golang镜像构建 ssh服务的代码,具体内容如下所示:
# golang:latest镜像 FROM ee23292e2826 # 作者 MAINTAINER dechao@qq.com # 添加Golang环境变量 ENV GOPROXY https://goproxy.cn,direct ENV 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:centos7 MAINTAINER tpythoner tpythoner@gmail.com" #yum安装sshd服务 #RUN yum install -y openssh openssh-server openssh-clients RUN yum install -y openssh-server #创建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 #设置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 #开发端口 EXPOSE 22 EXPOSE 80 #启动sshd服务 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、创建新的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
到此这篇关于docker 基于golang镜像构建 ssh服务的文章就介绍到这了,更多相关docker构建 ssh服务内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- python配合docker(Docker构建python Flask+ nginx+uwsgi容器)
- docker容器使用流程(在Docker构建的容器中实现安装ping工具)
- docker gitlab 配置(使用Docker构建一个Git镜像使用clone仓库)
- docker 容器移植(Docker构建kubectl镜像的实现步骤)
- docker构建本地镜像(Docker创建本地镜像实现方法解析)
- 熊猫中国国宝(熊猫国宝酒53酱香)
- 春节会放假几天(春节会放假吗)
- 小浴室,大民生 缙云3200多户困难群众洗上免费热水澡(小浴室大民生缙云3200多户困难群众洗上免费热水澡)
- 元旦闲谭(元旦闲谭)
- 息烽 这个村 治垃圾 有招 人人争当卫生模范(息烽这个村治垃圾)
- 今天要吃什么(今天要吃什么菜)
热门推荐
- 如何用mysql建立图书管理系统(图书管理系统的sqlserver数据库设计示例)
- python编写一个名片(详解Python做一个名片管理系统)
- dedecms使用方法(Dedecms织梦CMS搜索页面调用全站最新文章的方法)
- 查看mysql所有权限(MySQL 权限控制细节分析)
- mysql写入效率越来越差(MYSQL大量写入问题优化详解)
- 欧洲vps服务器速度与稳定怎么判断?(欧洲vps服务器速度与稳定怎么判断?)
- mysql完整整理(Mysql隔离性之Read View的用法说明)
- idea docker部署微服务(idea连接docker实现一键部署的方法)
- flex用法(详解关于flex-shrink如何计算的冷知识)
- 常见的数据库及数据库相关技术