畅享全栈云服务器 Northflank 从0到1安装 docker Ubuntu 启用 SSH 服务

Northflank

Northflank 从0到1安装体验 docker Ubuntu 无需保活配置 Frp 畅享 SSH 服务

The comprehensive developer platform to build and scale microservices, jobs and managed databases with a powerful UI, API & CLI.
译: Northflank 一个全栈云平台,开发者注册可以体验免费计划,连接他们的版本控制-GitHub、Bitbucket或GitLab-并通过Docker文件立即构建和部署他们的所有存储库。

本文介绍的是 Docker 容器为 Ubuntu,若需要探讨 Alpine 环境,可以将本文结合 解决 Alpine 安装 ssh 异常错误Alpine 安装 Python 环境 一起学习。

官方主页

https://app.northflank.com/signup

支持服务

docker、Nginx、Python、Django、Rust、Node.js、Ruby、Vue …详细见官网

一句话基本上服务都能跑,没有的就自己建 docker 再 pull

贴个部署完的探针配置图,开源探针地址在 首发开源 ServerStatus-Tiny 轻量化跨平台多服务器一站式监控平台

Northflank-suroy

注册准备

  • 一个邮箱
  • 良好的网络状况
  • 一张信·用·卡(可用虚拟卡,不会扣费)

注册过程略过,记得进去选 developer free 计划,注册完毕再回来看本文你会谢我,我已经替你踩完坑了。

服务安装

部署服务

Deployment -> docker

记得选外部镜像

docker 仓库填 ubuntu:latest (拉取最新 ubuntu )

配置ubuntu服务

于 docker 内运行以下命令

  • 更新源

    apt update && apt upgrade
    
  • 安装常用工具

    强烈建议先安装下列程序中的 screen

    这里有坑:Northflank 有时会网络崩了给你断开连接,如果正在安装程序可能会导致中断!所以采用 screen 的方式挂起安装服务,即时异常退出仍然后台运行。

    # screen
    apt install screen -y
    
    # 开一个 screen 会话
    screen -S Suroy
    
    # 网络工具: netstat, etc
    apt install net-tools -y
    
    # 常用工具
    apt install vim neofetch top -y
    
    # ping
    apt install iputils-ping -y
    
  • 安装ssh及配置

    若感觉ssh配置麻烦可以参考本节底部两个附录简化操作。

    • 安装
    apt install openssh-server -y
    
    • 修复 docker 下的 ssh 服务
    # 启动之前需手动创建/var/run/sshd,不然启动sshd的时候会报错
    mkdir -p /var/run/sshd
    
    • 登录方式(2选1): 设置密码登录

    container 版 os 的 root 也是沒有密码的,所以也得先设置一下:

    # 修改root密码,用于登录
    passwd
    # Enter new UNIX password:
    # Retype new UNIX password:
    
    # 配置ssh允许root登录、允许使用密码认证方式
    echo "Port 22" >> /etc/ssh/sshd_config
    echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    
    # 重启ssh
    /etc/init.d/ssh restart
    
    • 登录方式(2选1): 使用 key 登录
    # 生成ssh-key
    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -P '' -N ''
    
    • 启动 ssh 服务
    # 关闭原进程-即重启sshd
    ps -aux | grep ssh
    kill -9 pid
    # 以守护进程运行ssh服务
    /usr/sbin/sshd -D &
    
    • 检测sshd是否运行
    # 若22端口被监听即成功
    netstat -apn | grep ssh 
    
    • 附: Dockerfile 开启自动启动ssh

    如果想在 container 一启动就可以用 ssh 的話可以參考下面 Dockerfile 的写法,仅适用于 Ubuntu

    FROM ubuntu:18.04
    
    RUN apt update
    RUN apt install openssh-server -y
    RUN echo 'root:password' | chpasswd
    RUN echo "Port 22" >> /etc/ssh/sshd_config
    RUN echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
    RUN echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    
    EXPOSE 22
    
    CMD /etc/init.d/ssh restart
    
    • 附: 带 ssh 的Ubuntu镜像

    未测试,请自行研究
    https://hub.docker.com/r/rastasheep/ubuntu-sshd

FRP 配置转发

由于 Northflank 只提供了 80/443 的http公开端口服务,故其他的服务只能通过端口转发实现了。
这里提供给大家思路,可以采用端口转发的方式实现,比如FRP。

若需要完整示例代码可以到博客查看样例。

畅游 SSH

启用了frp之后使用frp地址进行登录

ssh root@FRP_ADDRESS -p FRP_FORWARD_PORT

FRP_ADDRESS: FRP服务器地址(server_addr -> 本文是frp3.freefrp.net)
FRP_FORWARD_PORT: FRP服务转发端口(remote_port -> 本文是26666)

异常处理

  1. screen 意外退出怎么终止
# 1234.xxx 为会话名
screen -S 1234.xxx -X exit

写在最后

本文旨在学习 docker 容器及云服务,不提倡也不支持白嫖云服务。
若文章内容未展示完整,可以在评论下方讨论或查看博客原文。

作 者: Suroy
博客原文: 全栈云服务器 Northflank 从0到1体验 docker Ubuntu 畅享 SSH 服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zsuroy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值