开启ssh服务
- 保证自己的docker暴露ssh服务22端口,jupyter服务8888端口,需要在新建docker时增加参数,命令如下所示:
docker run -p xxxx:22 -p xxxx:8888 --runtime=nvidia -it --name xiechong_ssh_test -v /home/training:/data xxxxx /bin/bash
- 进入自己的docker
- 执行命令:apt-get update(更新docker的apt命令)
- 执行命令:apt-get install ssh(安装ssh)
- 执行命令:vim /etc/ssh/sshd_config(查询ssh配置)
- 修改参数:PermitRootLogin参数修改为yes,保存
- 执行命令:passwd,随后输入自己docker的ssh密码,输入两次,如下所示:
- 执行命令:cd /var/run
- 执行命令:mkdir sshd
- 执行命令:/usr/sbin/sshd -D &(后台启动ssh服务)
- 到此,自己docker内的ssh服务已启动
开启jupyter
#安装jupyter
pip install jupyter
#生成jupyter配置文件,这个会生成配置文件.jupyter/jupyter_notebook_config.py
jupyter notebook --generate-config
#使用python交互窗口生成密码
In [1]: from notebook.auth import passwd
In [2]: passwd()
Enter password:
Verify password:
Out[2]: 'sha1:******'
#去配置文件.jupyter/jupyter_notebook_config.py中修改以下参数
c.NotebookApp.ip='*' #绑定所有地址
c.NotebookApp.password = u'刚才生成的密码'
c.NotebookApp.open_browser = False #启动后是否在浏览器中自动打开
c.NotebookApp.port =8888 #指定一个访问端口,默认8888,注意和映射的docker端口对应
#启动jupyter 服务
cd /你想要保存脚本的路径
jupyter notebook --allow-root
#后台运行jupyter notebook
jupyter notebook --allow-root > jupyter.log 2>&1 &
# 关闭
ps -axu | grep jupyter
kill -9 PID
使服务后台运行
按CTRL+P+Q 可使docker服务转为后台运行并且回到宿主机
再进入可以使用
docker attach id
或者
docker exec -it id /bin/bash