1、进入容器
nvidia-docker run -it --mount source=my-vol,target=/home/data 49b48d227d6e /bin/bash
2、进入容器后,修改密码
$ passwd
输入密码:123456
3、安装Openssh
sudo apt-get update # 更新源
sudo apt-get upgrade # 更新系统软件
apt-get install -y openssh-server
查看openssh -server是否启动,启动与否无关系:
ps -e | grep ssh
4、修改ssh配置,允许root登录
vim /etc/ssh/sshd_config
将PermitRootLogin的值改为yes
设置openssh-server开机自动启动,打开/etc/rc.local文件,在exit 0语句前加入:
/etc/init.d/ssh start
5、重启ssh服务
service ssh start
6、将此容器commit保存:
格式:docker commit container-id new-name
docker commit 1e077878a149 tf-gpu-ssh:v1
7、将新的镜像启动,并将docker服务器的50001端口映射到容器的22端口上
docker run -it -p 50001:22 tf-gpu-ssh:v1 /bin/bash
8、重启ssh服务
service ssh start
9、查看主机ip
ifconfig -a
若没有ifconfig,则安装net-tools后重试:
apt-get install net-tools
10、ssh登陆
ssh -p 50001 主机用户名@主机ip
其中:
主机中运行:1、6、7、9
容器中运行:2、3、4、5、8
外部访问:10
参考:
1、Docker下,实现多台机器之间相互SSH免密码登录
Docker下,实现多台机器之间相互SSH免密码登录_程序员欣宸的博客-CSDN博客
传送门:
完整的docker教程见docker使用教程(持续更新,推荐),docker基本原理、概念使用手册系列文章快速访问地址如下: