docker 打造Ubuntu20.04 ssh远程连接镜像

687 阅读2分钟

再也不用电脑上装了一堆的软件:mysql、redis、elk,还有理不清的开发环境:go、java、python,vscode、IDE好多的编辑器都支持远程开发调试,使用nvim安装插件实现ide的功能,方便功效,once build ,run anywhere

  1. 拉取Ubuntu20.04的镜像
docker run -itd -p 6666:22 --name u1 ubuntu

  1. 进入docker容器
docker exec -it u1 bash

  1. 更新源,安装必要的软件和依赖
apt update
apt upgrade
# wget 和 nvim 是我自己需要才下载的
apt install wget 
wget https://github.com/neovim/neovim/releases/download/v0.6.1/nvim-linux64.tar.gz
tar -xzvf nvim-linux64.tar.gz -C /usr/local

mv /usr/local/nvim-linux64 /usr/local/nvim64

echo "export PATH=$PATH:/usr/local/nvim64/bin" >> ~/.bashrc
source ~/.bashrc

apt install openssh-server

image.png

安装过程中会有俩个地方让你选择,按照提示选择就好:我选择亚洲/重庆

image.png

  1. 设置root密码,我们远程登录的时候使用
root@3c6294a46b91:/# passwd root 

image.png

  1. 我们还需要设置允许root远程登录
root@3c6294a46b91:/# nvim /etc/ssh/sshd_config
# 在配置文件中找到这一行,看是否注释掉
#PermitRootLogin prohibit-password 
# 如果文件中没有这一行则添加
PermitRootLogin yes
  1. 重启ssh服务,让配置生效,然后退出容器
# 这个需要重启以后才能生效
 root@3c6294a46b91:/# /etc/init.d/ssh restart
 * Restarting OpenBSD Secure Shell server sshd
# 这里产生了一个问题,我想的是每次启动容器后ssh自动开启
# 但是现在启动容器后还是要进入容器后开启ssh
# 我们可以后期使用dockerfile,拿这个镜像当基础镜像然后在cmd中启动命令
root@3c6294a46b91:/# systemctl enable ssh
root@3c6294a46b91:/# exit
exit
  1. 使用ssh登录
# 这个是本地登录,输入密码
➜  workgo ssh root@0.0.0.0 -p 6666

image.png 8. 连接成功,commit镜像

root@3c6294a46b91:/# docker commit -m="" -a="" u1 leo/ubuntu:v1
  1. 生成镜像后,可以基于这个镜像配置各种生产环境