docker的学习

目录

docker的安装

跑通官网的hello-world


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 multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb 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系统安装

参考这篇文章: Win10中docker的安装与使用_欢迎来到打不死的小强的专栏-CSDN博客 


遇到的问题

问题之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的网络配置_hetoto的博客-CSDN博客_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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值