Docker使用教程

  项目封装

  1. 安装docker

  2. 导出程序依赖包

 pip freeze > requirements.txt
 pip list --format=freeze > requirements.txt
 conda list -e > requirements.txt
 conda install --yes --file requirements.txt
 
 # 根据requirements下载离线依赖包
 pip download -d require -r requirements.txt
 # 复制require目录和requirements.txt 到新机器,在所在目录执行命令安装:
 pip install --no-index --find-links=require -r requirements.txt
  1. 编写dockerfile

基于的基础镜像
FROM python:3.5.3
维护者信息
MAINTAINER name  name@163.com
代码添加到code文件夹
ADD ./docker_test /code
设置code文件夹是工作目录
WORKDIR /code
安装支持


RUN pip install -r requirements.txt


CMD ["python", "/code/Main.py"]
  1. 制作镜像

docker build -t imagename(镜像名) Dockerfilepath(Dockerfile路径)
# Dockerfilepath:Dockerfile 所在文件夹名称,当前名录为 “.”
docker build -t d_t .
  1. docker运行

docker run -d --name c_name(容器名) imagename(镜像名)

# 创建镜像
docker build -t image_name .
# 创建容器并运行容器 如果需要启用gpu,需要在宿主机安装nvidia-docker2 
docker run --gpus all -it --name container_name image_name /bin/bash
docker run --gpus all --name container_name image_name

# -v 为映射宿主机文件夹
docker run --gpus all \
            --shm-size 32g \
            -it \
            -v ./:/workspace \
            --name edge_connect_run 06ae3a21dedb /bin/bash

docker run -it \ # 交互模式运行
        --gpus '"device=0,1"' | all \ # 制定挂载的GPU
        --shm-size 32g \ # 设置共享内存
        --mount type=bind,source=/ssd1t/song/Datasets/coco,target=/master_data \ # 设置挂载硬盘
        adenialzz/bilibili-projects:tch-mmdet-py38-tch19
        -v /host/dir:/docker/dir
        --user <root> # 指定用户
        -e ENV_VISION=1.0.0
        --entrypoint CMD
        --name edge_connect_run 06ae3a21dedb /bin/bash

  1. 导出

# 导出镜像为文件
# 保存一个:
docker save 0fdf2b4c26d3 > hangge_server.tar

# 保存多个:
docker save -o images.tar postgres:9.6 mongo:3.4

# 导出容器为镜像
docker export ebcdfbecbb27(容器id) > yolov8l-train-v1.0.tar(镜像文件名)
  1. 导入

# 导入镜像 对应export
docker import  my_ubuntu_v3.tar runoob/ubuntu:v4 
# 载入镜像 对应save
docker load < hangge_server.tar
  1. 常用指令

# 查看容器信息
docker inspect ca_peerOrg1(容器名称)
docker inspect  容器名称

# 进入命令行模式
docker exec container_id -it /bin/bash

# 运行容器并进入命令行
docker run --gpus all -it --name container_name image_name /bin/bash

# 查看容器运行日志
docker logs container_id

# 容器与宿主机之间拷贝数据
docker cp /host/path/ container_id:/path/to/copy # 宿主机到容器
docker cp container_id:/path/to/copy /host/path/ # 容器到宿主机

# 将容器中的修改更新到镜像
docker commit -c "ENTRYPOINT /run.sh" container_id <image_name>:<new_tag>
  1. 注意事项
    1. 容器无法启用GPU:
      1. 需要在宿主机中安装nvidia-docker2

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值