1. 启动docker 设置端口映射
这里我是以本地的Nginx镜像启动的docker 配置好本地的49160端口和docker的22端口的映射 dokcer run -di --name nginx22 -p 49159:80 -p 49160:22 -v /webdir:/webdir nginx 启动创建好的docker容器 docker exec -it nginx22 bash
2. 安装sshd
在docker中安装sshd服务 apt update
安装openssh-server apt install openssh-server
给root账户设置密码 passwd
修改/etc/ssh/sshd_config PermitRootLogin 改为 yes # 允许root用户登录 一般root用户都是启动某些服务时才会切换过去 UsePAM 改为 no
启动ssh服务 service ssh start
ssh 127.0.0.1 测试一下能ssh服务是否启动成功
3. 使用ssh登录docker
ssh -p 49160 root@ip地址 ssh还可以实现其他端口的映射,如果你在服务器上启动了tensorboard tensorboard --logdir=‘logs/’ --port=6006 想在本地127.0.0.1:6006使用tensorboard时需要使用 ssh -L 6006:127.0.0.1:6006 root@10.102.32.65
而如果你在docker中使用了tensorboard,你不用再设置docker的配置文件添加新的6006和服务器的端口映射,只需要像下面这样就可以了 ssh -L 6006:127.0.0.1:6006 -p 49160 root@10.102.32.65
|