目录
ubuntu下使用docker进行深度学习环境配置(从入门到精通)
https://blog.csdn.net/condom10010/article/details/125984669
Docker镜像配置深度学习环境(Ubuntu 18.04)
https://zhuanlan.zhihu.com/p/562707628
ubuntu环境docker的安装
docker的安装参考下面的文章
参考下面网址里的手动安装: 直接按步操作,这个是没有问题的
https://www.runoob.com/docker/ubuntu-docker-install.html
安装docker时出现以下错误:Package ‘docker-ce‘ has no installation candidate
https://blog.csdn.net/qq_30099067/article/details/119710657
菜鸟入门Docker
https://blog.csdn.net/qq_40298902/article/details/105967342?spm=1001.2014.3001.5506
一、安装docker
1、安装docker:sudo apt-get install -y docker.io
2、启动docker服务:systemctl start docker
3、设置开机启动:systemctl enable docker
4、查看docker状态:systemctl status docker
5、停止docker服务:systemctl stop docker
6、查看docker版本:docker version
配置docker的加速器
cd /etc/docker/
dir
daemon.json key.json myapp
cat daemon.json
{
"registry-mirrors":[
"https://tukjbhel.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn/",
"https://hub-mirror.c.163.com",
"https://registry.docker-cn.com"
]
}
如果没有daemon.json,创建该文件,把内容复制进来
遇到的问题,安装太慢,需要更新源
//1.进入下面路径
cd /etc/apt/
//2.备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
//3.编辑内容
sudo gedit sources.list
//4.复制粘贴下面的源内容,保存 (阿里源和清华源)//5.更新,输入命令进行更新
sudo apt-get update
两个源内容
<1>阿里源 :
地址: https://opsx.alibaba.com/mirror
源:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
<2>清华源 :
地址:https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
源:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
win10系统安装
遇到的问题
问题之nvidia-container-toolkit
遇到问题:
sudo docker run -it --gpus all --name ai ubuntu:18.04
出现下面的问题:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
问题答案:
是缺少nvidia-container-toolkit工具
按照下面的步骤执行:
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
跑通官网的hello-world
执行下面的命令:
docker image pull library/hello-world
docker container run hello-world
执行结果如下
构建自己的hello镜像
看下面的文章
九步构建自己的hello world Docker镜像
九步构建自己的hello world Docker镜像_weixin_33698043的博客-CSDN博客
问题:
1.构建的镜像存储在哪里
Docker网络配置
学习的资料
镜像容器仓库关系
docker核心概念(镜像、容器、仓库)及基本操作
https://www.cnblogs.com/whych/p/9446032.html
默认位置及修改办法:
Linux:
cd /var/lib/docker - 容器与镜像存放在此目录下
镜像位置: /var/lib/docker/image
容器位置: /var/lib/docker/containers
更改docker镜像和容器的存储位置:
https://blog.csdn.net/weixin_39865737/article/details/126717900
命令大全
docker 常用命令大全
https://blog.csdn.net/leilei1366615/article/details/106267225
镜像操作命令
以hello-world为例
拉取镜像
docker image pull library/hello-world : 镜像名
也可以docker pull 镜像名,image可以省略
docker images: 查看镜像
运行镜像
docker container run hello-world
也可以docker run hello-world
保存镜像
docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
docker save hello-world -o hello.tar
删除镜像
docker rmi -f 镜像名/镜像ID
docker rmi -f hello-world
强制删除镜像
docker image rm hello-world
加载文件 恢复为镜像
docker load --input hello.tar
镜像标签
docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG
# 如果省略TAG 则会为镜像默认打上latest TAG
docker tag aaa bbb
# 上方操作等于 docker tag aaa:latest bbb:test
镜像打包
docker export CONTAINER-ID > hello.tar
#将id为a404c6c174a2的容器按日期保存为tar文件。
docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2
ls mysql-`date +%Y%m%d`.tar
mysql-20160711.tar
镜像导入
docker import hello.tar
#从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为runoob/ubuntu:v4
docker import my_ubuntu_v3.tar runoob/ubuntu:v4
容器操作命令
1.退出容器
exit :run进去容器,exit退出,容器停止
ctrl+p+q : run进去容器,ctrl+p+q退出,容器不停止
2.启动已停止运行的容器
docker start 容器ID或者容器名
3.重启容器
docker restart 容器ID或者容器名
4.停止容器
docker stop 容器ID或者容器名
5、强制停止容器
docker kill 容器ID或容器名
6.进入容器终端
docker attach 容器ID或者容器名
最开始建立容器的命令:
docker run -itd --privileged --name ubuntu_test ubuntu:18.04 /sbin/init
后续采用下面的命令进入容器终端
docker exec -it -u ai ubuntu_test /bin/bash
不能用docker attatch ubuntu_test
docker ps -a 查看所有容器
找到要启动的CONTAINER ID
7.重命名容器
docker rename 旧名字 新名字
8.删除容器
docker rm 容器ID或容器名
网络模式
深入解析docker三种网络模式
https://www.jb51.net/article/244514.htm
1.查看网络模式: docker network ls
bridge:桥接模式
host:主机模式
none:无网络模式
docker的流程
docker pull拉取镜像后存在哪里?
https://www.php.cn/docker/451463.html
问题集合
问题Got permission denied while trying
解决Docker运行命令时提示“Got permission denied while trying to connect to the Docker daemon socket“类情况,提示如下
https://blog.csdn.net/weixin_42447403/article/details/123796067
执行下面的命令解决:
sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新用户组
docker ps #测试docker命令是否可以使用sudo正常使用
测试命令: docker version
疑问之docker import和docker load的区别是什么?
实际上,既可以使用docker load命令来导入镜像库存储文件到本地镜像库,也可以使用docker import命令来导入一个容器快照到本地镜像库。
两者的区别在于容器快照将会丢弃所有的历史记录和元数据信息,而镜像存储文件将保存完整记录,体积也会更大。
此外从容器快照文件导入时,也可以重新指定标签等元数据。
建议采用:
docker export -o hello_`date +%Y%m%d`.tar 容器ID
docker export 容器ID > hello.tar
docker import hello.tar user/hello:v4
问题之docker tab无法补全
apt-get install -y bash-completion
安装之jupyter
docker容器安装jupyter notebook(安装、配置、修改全过程)
https://blog.csdn.net/buluxianfeng/article/details/123478620