简要介绍
- docker 是虚拟化工具,docker 可以生成镜像,并根据镜像启动容器。镜像和容器的关系相当于 .iso操作系统镜像文件 和 正在运行的操作系统
- docker-compose 是docker的容器管理工具,可以用在单台机器上的多个容器的管理
安装
- 在docker官网 下载docker for desktop,双击安装
- 安装完成后需要重启电脑
- 有可能提示需要开启hyper-v功能service。
- 另外可能提示需要安装wsl功能,wsl安装方法是在windows 应用商店里,搜索ubuntu或者其他linux发行版,点击 获取, 即可安装。
编写dockerfile 生成镜像并启动 参考
- 新建项目文件夹project,
- 将需要部署的项目文件夹pro拷贝到project中。
- 我这里是python项目,需要建立python环境,因此在project目录里添加requirements.txt 帮助构建python环境
- 文件夹下新建一个Dockerfile文件。注意 Dockerfile首字母大写。
- 编写 Dockerfile 文件
# 基于镜像基础
FROM python:3.7
# 维护者信息
MAINTAINER your_name your_email
# 复制当前代码文件到容器中 /app
ADD . /app
# 设置app文件夹是工作目录 /app/pro
WORKDIR /app/pro
# 安装所需的包,默认为使用python官方镜像源,安装 比较慢
#RUN pip install -r requirements.txt
#可以修改为清华源
# RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=1000
# ocr接口
#CMD ["python", "/app/pro/app.py"]
- 根据Dockerfile创建镜像,在powershell里执行下面命令
[root@localhost ~]# docker build -t imagename Dockerfilepath
# 我这里直接进入project文件夹,执行
[root@localhost ~]# docker build -t pro ./
- 查看镜像是否生成成功
docker images
- 从镜像启动容器, 在powershell中执行。前一个pro是容器名,第二个是镜像名。 -p是进行端口映射,把容器端口映射到物理机端口
docker run -it -p 8080:8080 --name pro pro
- docker镜像导出,tar镜像包可以拷贝到其他机器docker环境中加载
docker save pro -o pro.tar
- docker镜像加载
docker load -i pro.tar
docker-compose
除了上述docker 单个启动容器,还可以使用docker-compose 启动
- 下载
- 双击安装
- 编写docker-compose.yml文件
version: '2.4'
services:
pro:
restart: always
image: pro
container_name: pro
ports:
- 8080:8080
volumes:
- ./pro:/app/pro
working_dir: /app/pro
command: /bin/bash -c "python app.py"
pro是一个service,如果有多个容器需要启动,就写多个service配置即可
- 命令启动
docker-compose -f docker-compose.yml up -d
其中 -f 指定配置文件, -d是后台启动,不会卡住启动的界面
- 停止容器
docker-compose -f docker-compose.yml down