赞
踩
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
必须了解的几个概念:
必须了解的几个关系:
1 创建一个目录,eg:docker
2 将要打包的代码放在docker文件夹里
3 生成reqirements.txt,即代码所需的第三方包列表放到docker文件夹里
- 安装pipreqs包
- 执行pipreqs E:\code\fire\fire_detection\workstation --encoding=utf-8
- conda list -e > requirements.txt
4 创建Dockerfile(就叫这个名字)
如下:
FROM python:3.7.0
MAINTAINER puffy
ENV TZ Asia/Shanghai
COPY ./fire_detection fire_detection
COPY requirements.txt requirements.txt
RUN python -m pip install --upgrade pip
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
RUN apt update
WORKDIR ./fire_detection/bin
CMD ["echo Hello Container"]
5 前期的准备工作至此就做好了,效果如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EgrtQ25U-1605842867060)(en-resource://database/1330:1)]
(这里面的share_data是容器和本机的共享文件夹,可以不放在这个目录下,具体后面再说)
6 挂载盘
(下面所有的命令windows,linux下通用)
7 创建镜像
docker build -t 镜像名:版本 .
8 查看镜像
docker images
9 创建容器
docker run 镜像名:版本(镜像id)
docker run 镜像名:版本(镜像id) 命令
docker run -it 镜像名:版本(镜像id) /bin/bash
docker run -v /share_test:/docker_test -it 镜像名:版本(镜像id) /bin/bash
10 查看容器
docker ps -l
docker ps
11 停止容器
docker stop 容器id
docker stop $(dokcer ps -aq)
12 重启一个已经退出的容器
docker exec -it 容器id /bin/bash
13 删除容器
docker rm 容器id
docker rm $(docker ps -aq)
1 从dokcer hub上面拉一个centos7镜像(因为linux版本的PIE是基于centos7)
docker pull centos:7
2 查看镜像,获取centos7的镜像id
3 创建容器,并进入交互模式
4 安装PIE依赖的各种环境
5 退出容器
6 查看容器id
7 将容器保存为镜像
docker commit <容器id> <镜像名:版本>
8 查看镜像,获取新生成镜像的id
docker login
docker tag IMAGEID(镜像id) USERNAME/REPOSITORY:TAG(仓库:标签)
docker push username/fire-detection:latest
docker pull username/fire-detection:latest
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。