@Team
2018-12-14T12:43:27.000000Z
字数 1659
阅读 1694
夏敏
很多小伙伴都踩过配caffe的坑,学会使用docker之后,不再需要自己配环境了,下面详细介绍下docker的使用方法。
容器操作
新建容器:
sudo docker run -t -i -p 1800:1800 -v /Users/**/Desktop:/Desktop kaixhin/caffe /bin/bash
-v
-p 端口映射
-d
退出容器
按ctrl+D 或 exit 退出当前容器。
查看正在运行的容器
docker ps
查看所有容器
docker ps -a
启动一个已有容器
docker start 91951c2afd5f
停止容器
docker stop 91951c2afd5f
重启容器
退出后,如果你想重新使用之前的容器,可以通过以下命令重启,回到之前的状态:
docker start container_ID
docker attach container_ID
保存容器
docker commit c5f24e953610 [保存镜像名字]
删除指定容器
docker rm container_ID/name
删除所有已经停止的容器
docker rm $(docker ps -a -q)
杀死所有正在运行的容器
docker kill $(docker ps -a -q)
将本地文件拷贝到容器中
docker cp [拷贝文件名] [容器ID]:容器中文件路径
将容器中文件或文件夹拷贝到本机
docker cp a77a72ac178c:/var/www/html /var/www/
镜像操作
安装镜像
docker pull elezar/caffe:cpu
测试安装
$ docker run -ti elezar/caffe:cpu caffe --version
查看所有镜像
docker images
将本地文件映射到新建容器中
$ docker run -ti -v /Users/**/**/**:/** elezar/caffe:cpu
删除指定镜像
docker rmi image_name
Volume
-v 容器映射
-v [本地目录]:[容器内目录]
-volumes-from 从另一个容器引入数据,多个容器挂载同样数据
docker create -v $PWD/data:/var/mydata --name [容器名] ubantu
docker run --volume-from data_container
Registry镜像仓库
daemon 守护程序
docker search ***
docker pull ***
上传到docker hub
docker login
docker push ***
镜像复制重命名
docker tag [原镜像名] [复制后镜像名]
国内仓库
阿里云
daocloud
时速云
Dockerfile
FROM …base image
MAINTAINER … 谁写的
CMD ….. 命令行
RUN apt-get install … 执行命令
COPY...拷贝文件
ADD…. 添加文件(远程)
ENTRYPOINT ["","",""] 容器入口
EXPOSE 80 暴露端口
RUN sed -i 's/archive.ubantu.com/mirrors.ustc.edu.cn/g' /etc/apt/source.list 用加速镜像
WORKDIR 指定路径
ENV 设定环境变量
USER指定用户
VOLUME mount point
创建image
将当前目录下的Dockerfilebuild为image:
docker build -t [image名称] .
底层知识
镜像分层存储
例子
##人脸识别mtcnn docker环境
docker pull raohuaming/mxnet-opencv-dlib
docker run -ti -v /Users/**/Downloads/mtcnn-face-detect:/mtcnn raohuaming/mxnet-opencv-dlib:latest
easy_install pip;pip install Flask;pip install requests
python app.py &
sh ./install.sh
python http_request.py