一、概念:
开源的应用容器引擎,打包开发者的应用及依赖包在一个可移植的容器中,相当于沙箱。
Docker允许开发人员在单个操作系统上隔离和运行多个应用程序,而不是为服务器上的每个应用程序专用一个虚拟机。
这是通过将应用程序隔离在单独的容器中来实现的,这些应用程序虽然被容器分隔开,但是却可以共享操作系统和其他资源。
优点:使用容器更轻量级,可以降低成本、更好地使用资源和发挥更高的性能。
二、组成:
docker主要由客户端、守护进程、镜像、容器组成。
三.Dockerfile写法
FROM python:v3.6#加载基础镜像 maintainer name, mail#创建着,名称,邮箱 COPY ./requirements.txt /root/requirements.txt # 复制本地文件到镜像 WORKDIR /root # 配置路径 CMD ["/bin/python", "/app.py", "run"]#启动主程序
四、常见docker命令
查找镜像 docker search ouruser/sinatra 拉取镜像到本地 docker pull ouruser/sinatra:v2 创建镜像 docker build -t ouruser/sinatra:v2 . 指定端口默认启动 docker run -d -p 10022:22 -p 5000:5000 9237f60b18d0 指定端口bash启动 docker run -t -i -p 10022:22 -p 5000:5000 9237f60b18d0 /bin/bash 指定容器名称启动 docker run -it -d --name c847084bed94 -p 5001:5001 -p 5055:5055 zhongzh/demo 自动重启,最大次数为10 docker run --restart=on-failure:10 redis 容器内外文件移动 docker cp filename zhongzh@host_ip:/home/ 进入容器查看 sudo docker exec -it 3c6b44cbcc8f /bin/bash 停止/启动容器 docker stop/start 3c6b44cbcc8f 查看镜像 docker images 查看当前正在运行的容器 docker ps 提交修改容器 docker commit 9237f60b18d0 demo:v1.0
五、docker的实际体会
1.简化了深度学习的环境配置
2.各种部署环境根据傻瓜化
3.可重用、可移植