docker中开启ssh服务和jupyter服务

开启ssh服务

  1. 保证自己的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
  1. 进入自己的docker
  2. 执行命令:apt-get update(更新docker的apt命令)
  3. 执行命令:apt-get install ssh(安装ssh)
  4. 执行命令:vim /etc/ssh/sshd_config(查询ssh配置)
  5. 修改参数:PermitRootLogin参数修改为yes,保存
  6. 执行命令:passwd,随后输入自己docker的ssh密码,输入两次,如下所示:
  7. 执行命令:cd /var/run
  8. 执行命令:mkdir sshd
  9. 执行命令:/usr/sbin/sshd -D &(后台启动ssh服务)
  10. 到此,自己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

猜你喜欢

转载自blog.csdn.net/qq_21768483/article/details/117747435