docker常用命令

下面介绍一些docker的常用命令。如果是sudo权限,请自行在docker和脚本前加上。这里为了显示简介,就没有加。

1 docker pull(拉镜像)

docker images # 显示所有docker镜像

docker pull nvidia/cuda:8.0-cudnn7-devel # 拉镜像

 

2 docker run(运行容器)

nvidia-docker run -it -d --name=test_docker \    # docker name 
--device=/dev/nvidia0:/dev/nvidia0 \ # 指定GPU 0
--device=/dev/nvidia1:/dev/nvidia1 \
-v /data/aidata:/data \              # 指定 映射路径,前面为服务器,后面为docker
-v /data1/aidata:/data1 \
-p 18307:9096 \                      # 指定 端口,前面为服务器,后面为docker
-p 18217:226 \
nvidia/cuda:8.0-cudnn7-devel /bin/bash –D   指定 镜像

(1)保存上面的脚本为 docker_run.sh

2)执行命令:sh docker_run.sh

说明:

1)用(netstat -tunlp)查看未使用的端口号。

2)如果想从服务镜像中恢复原来的环境,而不启动工程,则需在设置中加上 --entrypoint=bash

 

3 docker exec(进入容器)

docker ps -a                              # 显示所有docker容器 ,可以看到 容器ID、容器name、对应镜像

docker exec -it xxx bash            # 运行docker容器(xxx)。如果xxx是容器ID,则可以只是开头的部分字符串;如果是容器name,则需要是全程。

Ctrl-D exit                               # 退出容器

 

4 docker commit(封装容器为镜像)

docker commit xxx   yyy:zzz      #  将容器IDxxx)打包成镜像(yyy:zzz),镜像REPOSITORYyyy 镜像TAGzzz

 

5 docker rm/rmi(删除容器和镜像)

docker  stop  xxx             # 删除容器或镜像前需要停止容器,xxx为容器ID

docker rm xxx                 # 删除运行的容器(xxx

docker rmi yyy:zzz          # 删除运行的镜像(yyy:zzz

 

6 docker tag(更改镜像REPOSITORY TAG

docker tag iii yyy:zzz        # 更改镜像IDiii)的REPOSITORYyyy TAGzzz

 

7 docker push(推镜像)

1)登录镜像仓库

docker login xxx.com.cn            # 登录镜像仓库,需输入密码

docker logout xxx.com.cn       # 退出登录的镜像仓库)

2)镜像名字更改为指定镜像库地址

docker tag iii yyy:zzz       # 更改镜像IDiii)的REPOSITORY TAG

3push

docker push yyy:zzz        # 推镜像

 

8 Dockerfile(封装镜像)

# ========  Base images 基础镜像
FROM  nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04

# ======== 添加源
RUN sed -i "s/archive.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list && \
    sed -i "s/security.ubuntu.com/mirrors.aliyun.com/" /etc/apt/sources.list

# ======== apt-get安装基础软件 
RUN apt-get update && apt-get install --no-install-recommends -y \
      build-essential \
      git \
      gcc \
      g++ \
      make \
      automake \
      autoconf \
      bzip2 \
      wget \
      curl \
      gawk \
      libtool \
      libatlas3-base \
      zlib1g-dev \
      python \
      python-pip \
      python-dev \
      subversion \
      unzip \
      flac \
      libjansson-dev \
      lrzsz  \
      vim && \
    apt-get clean all && \
    rm -rf /var/lib/apt/lists/*

# =========== 安装 tensorflow、keras 
# initial environment configuration
RUN apt update  && \
    apt install -y python-dev python-pip python-nose gcc g++ git gfortran vim

# install  Acceleration library
RUN apt install -y libopenblas-dev liblapack-dev libatlas-base-dev  && \
    apt-get clean all && \
    rm -rf /var/lib/apt/lists/*

# updata pip
RUN pip install --upgrade pip
RUN pip install -U --pre setuptools

# Install keras and related development kits
RUN pip install -U --pre numpy scipy matplotlib scikit-learn scikit-image  && \
    pip install -U --pre tensorflow-gpu==1.9  && \
    pip install -U --pre keras

# =========== 安装 ffmpeg 
# install yasm
RUN apt-get update && apt-get install --no-install-recommends -y \
      yasm  && \
    apt-get clean all && \
    rm -rf /var/lib/apt/lists/*

# install ffmpeg
RUN wget http://ffmpeg.org/releases/ffmpeg-3.1.3.tar.gz  && \
    tar -zxvf ffmpeg-3.1.3.tar.gz  && \
    cd ffmpeg-3.1.3      && \
    ./configure     && \
    make   && \
    make install  && \
    cd ..   && \
    rm -rf ffmpeg-3.1.3.tar.gz  && \
    rm -rf ffmpeg-3.1.3

# install tqdm
RUN pip install tqdm

# ========== 安装 opencv 
RUN pip install opencv-python scipy

1)保存上面的脚本到文件Dockerfile。

2)执行下面命令,运行Dockerfile(路径为Dockerfile当前路径)。

docker build -t  yyy:zzz  .        # 执行Dockerfile文件,生成镜像(yyy:zzz

 

9 镜像 = 压缩文件(.tar

docker save -o yolov5.tar ultralytics/yolov5:latest     #   镜像打包成文件

docker load < yolov5.tar                                 # 导入文件为镜像

docker load --input yolov5.tar                         # 同上

 

10 其他

docker image history yyy:zzz           # 查看镜像(yyy:zzz)的之前,添加的层

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值