![844991c26c80a504f05ff34a05fd7987.png](https://i-blog.csdnimg.cn/blog_migrate/31140c80c23c275e1312bd8dcd661df6.jpeg)
安装docker
- 参考ubuntu安装docker(网上很多文章)
![22cdb02a22f28a9b1df1aaa0c200dd1e.png](https://i-blog.csdnimg.cn/blog_migrate/5253f140591f68cee043671c97f03d42.jpeg)
![8a04ef4591adc21480de1067561a7f72.png](https://i-blog.csdnimg.cn/blog_migrate/caeff88fe4c5da474a9ee41b41897589.jpeg)
2. 查看docker状态:systemctl status docker
配置环境并远程连接
一、使用jupyter网页版打开docker
1. 安装docker images
docker pull tensorflow/tensorflow:latest-py3-jupyter
2. 查看images
docker image ls
3. 运行jupyter/tensorflow-notebook,这里是以detached mode运行,注意这里的docker的8888(jupyter)端口映射到host的8088(阿里云安全组开放的)
docker run -d -p 8088:8888 --ipc=host -v ~/work:/work --name tf-env tensorflow/tensorflow:latest-py3-jupyter
或者
docker run -d -p 8088:8888 --ipc=host -v ~/pyWorkSpace:/workspace --name tf-env tensorflow/tensorflow:latest-py3-jupyter
4. 查询Container id:
docker ps
5. 获取Token
docker exec -it container_id jupyter notebook list
或
docker exec -it container_id jupyter notebook --no-browser --ip=0.0.0.0 --allow-root --NotebookApp.token= --notebook-dir='/work'
6. 访问
如:
http://host_ip:8088/?token=
二、vscode连接docker
1. 安装docker images
docker pull tensorflow/tensorflow:latest-py3-jupyter
2. 查看images
docker image ls
3. 运行jupyter/tensorflow-notebook, 将docker的22端口转发给了服务器的8022端口
docker run -p 8089:8888 -p 8022:22 --name="tf-env-ssh" -v ~/pyWorkSpace:/workspace -it tensorflow/tensorflow:latest-py3-jupyter /bin/bash
4. 配置ssh服务(docker bash中)
apt update
apt install -y openssh-server
mkdir /var/run/sshd
echo 'root:passwd' | chpasswd
# 这里使用你自己想设置的用户名和密码,但是一定要记住!
sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed 's@sessions*requireds*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
echo "export VISIBLE=now" >> /etc/profile
service ssh restart
5. 进入服务器bash(不是docker bash)
测试是否将docker的22端口转发给了服务器的8022端口
sudo docker port [your_container_name] 22
6. 连接
ssh root@[your_host_ip] -p 8022
注:
1. 进入docker bash:
docker exec -it container_id /bin/bash
2. 查看所有的容器
docker ps -a
3. 如果出现Permission denied (publickey,password)
登录目标机器 打开 /etc/ssh/sshd_config ,修改PasswordAuthentication no 为:
PasswordAuthentication yes
重启服务
service ssh restart