目标:
1. Docker发展历程
2. NVIDIA docker 安装 步骤
3. docker使用
3.1 docker容器的使用
3.2 docker镜像的使用
1. Docker发展历程
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源
LXC又名Linux container,是一种虚拟化的解决方案,这种是内核级的虚拟化。(主流的解决方案Xen ,KVM, LXC)
一个完整的Docker有以下几个部分组成:
1.1 DockerClient客户端
1.2 Docker Daemon守护进程
1.3 Docker Image镜像
1.4 DockerContainer容器
Docker 架构
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
2. NVIDIA docker 安装步骤
github 地址: https://github.com/NVIDIA/nvidia-docker
服务器是ubuntu的,所以仅仅记录ubuntu下 nvidia docker的安装步骤:
# If you have nvidia-docker 1.0 installed: we need to remove it and all existing GPU containers
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker
# Add the package repositories
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
# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
3. docker 使用
3.0 hello world
docker image pull library/hello-world
上面的代码中,docker image pull
是抓取image文件的命令,library/hello-world
是image文件在仓库里面的位置,其中library
是image文件所在的组,hello-world
是image文件的名字.
3.1 docker 容器的使用
#列出本机正在运行的容器
docker container ls
#列出本机所有的容器
docker container ls --all
3.2 docker 镜像的使用
#列出本机的镜像
docker image ls
#删除镜像
docker image rm [imageName]