关于Docker的一些学习
Docker简介
1.是一个应用打包、分发、部署的工具。
2.镜像(images):软件安装包。可等同于“类”的理解。
容器(container):镜像运行的实体。可等同于“对象”的理解。
仓库(Registry):用来保存镜像。Docker Hub提供了庞大的镜像集合供使用;其中1个Docker Registry 中可以包含多个仓库,每个仓库可以包含多个标签:每个标签对应一个镜像。可以通过命令:<仓库名>:<标签>用来指定该软件的版本,如果不给标签,则默认latest。
3.容器和镜像的关系:镜像等同于类,容器可以看做是类的实例化对象。一个类可以有多个对象,同理,一个镜像可以有多个容器。容器是由镜像实例化而来,镜像是文件,容器是进程。容器是基于镜像创建的,也就是说容器中的进程依赖于镜像中的文件。
Docker镜像使用
(1)管理和使用本地Docker主机镜像。
(2)创建镜像。
常用命令:
1.列出镜像列表 docker images
sudo docker images
运行结果为:
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ba6acccedd29 17 months ago 72.8MB
hello-world latest feb5d9fea6a5 18 months ago 13.3kB
2.查找镜像 docker search
可以从Docker Hub网站(网站链接)来搜索镜像;
或者使用docker search 命令来搜索镜像。
sudo docker search ubuntu
运行结果为:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
ubuntu Ubuntu is a Debian-based Linux operating sys… 15790 [OK]
websphere-liberty WebSphere Liberty multi-architecture images … 293 [OK]
open-liberty Open Liberty multi-architecture images based… 59 [OK]
neurodebian NeuroDebian provides neuroscience research s… 99 [OK]
ubuntu-debootstrap DEPRECATED; use "ubuntu" instead 50 [OK]
ubuntu-upstart DEPRECATED, as is Upstart (find other proces… 112 [OK]
其中,NAME:镜像仓库源的名称;OFFICE:是否为docker官方发布。
3.拖取镜像 docker pull
使用docker pull 命令来下载一个新的镜像。
sudo docker pull ubuntu
4.删除镜像 docker rmi
如删除Ubuntu 镜像。
sudo docker ubuntu
5.构建镜像
使用命令docker build
,从零开始来创建一个新的镜像。
docker build -t mattersim:9.2-devel-ubuntu18.04 .
构建了一个新的镜像:mattersim
接下来根据镜像,运行这个容器,一定要在/Matterport3DSimulator路径下运行。
nvidia-docker run -it --mount type=bind,source=$MATTERPORT_DATA_DIR,target=/root/mount/Matterport3DSimulator/data/v1/scans --volume `pwd`:/root/mount/Matterport3DSimulator mattersim:9.2-devel-ubuntu18.04
完成之后,就进入到docker的容器内了,你也可以退出docker容器,查看到自己刚刚创建的容器。
容器使用
Docker客户端
可以直接输入docker命令来查看Docker客户端的所有命令选项,
可以通过命令docker command --help 来了解指定的Docker命令使用方法。
如要查看docker start指令的具体用法,可输入命令:docker start --help
结果如下:
容器使用
1.获取镜像
如果本地没有镜像,通过命令获取镜像docker pull <镜像>
使用镜像启动容器,如这里启动 ubuntu 镜像。
sudo docker run -it ubuntu /bin/bash
参数说明:-i :交互式操作。-t :终端。/bin/bash :放在镜像名后的是命令,这里我们希望有个交互式shell,因此用的是/bin/bash。
退出则直接输入:exit
2.查看所有容器
使用命令: docker ps -a
3.启动容器
使用docker start <容器ID>
来启动一个已经停止的容器。
4.停止容器
使用docker stop <容器ID>
命令来停止一个容器。
停止的容器可以通过docker restart <容器ID>
重启。
5.进入容器
在使用-d
参数时,容器启动后会默认进入后台。此时想要进入容器,可以通过一下指令进入:
docker attach
或者
docker exec
其中使用docker exec命令,会退出容器终端,但不会导致容器的停止。使用attach命令时,如果从这个容器退出,会导致容器的停止。
6.删除容器
删除容器使用docker rm
命令。
如 :sudo docker rm -f 7a818d461433
使用命令 :
docker container prune
可以清理掉所有处于终止状态的容器。
注:具体详细的指令学习可参考: 链接