Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境。
Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境,因此它执行的效率几乎等同于所部署的 Linux 主机。
因此,Docker 必须部署在 Linux 内核的系统上。如果其他系统想部署 Docker 就必须安装一个虚拟 Linux 环境。
在 Windows 上部署 Docker 的方法都是先安装一个虚拟机,并在安装 Linux 系统的的虚拟机中运行 Docker。
Docker Desktop 是 Docker 在 Windows 10 和 macOS 操作系统上的官方安装方式,这个方法依然属于先在虚拟机中安装 Linux 然后再安装 Docker 的方法。
创建容器,python为例
#搜索镜像:docker search python
#拉取镜像:docker pull python:3.5.2
#启动镜像实例:
docker run -it -m 8G --memory-swap -1 --name my-python -p 8888:8888 -v /data/home/test:/data/ python:3.5.2
--name:自己取的容器名称
-p:端口映射
-v:目录挂载
(python:3.5.2 要实例化的镜像)
-m:限制分配给容器的内存
设置-m,--memory=a,--memory-swap=-1
给-m参数设置一个正常值,而给--memory-swap设置成 -1。这种情况表示限制容器能使用的内存大小为 a,而不限制容器能使用的 swap 分区大小。
#退出容器:exit
#启动容器,后台运行:docker start my-python
#进入到容器:docker container exec -it 容器id /bin/bash
或者
docker container exec -it 容器id /bin/sh
在python3的容器下安装指定版本的tensorflow-gpu,要先进入容器my-python,然后安装
pip3安装命令(python3对应)
pip3 install tensorflow-gpu==1.12.0
查找docker中所有容器:docker ps -a
查找运行中的容器:docker ps
查询已经停止的容器名:docker ps -l
过滤指定的容器信息,,如:docker ps -a | grep my-python
查找指定名称的容器的长id,如容器name为my-python的长id获取
docker inspect -f '{{.ID}}' 'docker-name' 如:docker inspect -f '{{.ID}}' my-python
查看镜像:docker images
停止容器:docker stop 容器id
启动容器:docker start 容器id #终止状态的容器,可以使用docker start来重新启动。
重启容器:docker restart 容器id
删除容器 :docker rm 容器id
删除镜像:docker rmi 镜像id