優雅地使用docker
容器操作
新建容器:
sudo docker run -t -i elezar/caffe:cpu /bin/bash-v -p 埠映射-d
退出容器
按ctrl+D 或 exit 退出當前容器。
查看正在運行的容器
docker ps
查看所有容器
docker ps -a
啟動一個已有容器
docker start 91951c2afd5f
停止容器
docker stop 91951c2afd5f
重啟容器
退出後,如果你想重新使用之前的容器,可以通過以下命令重啟,回到之前的狀態:docker start container_IDdocker 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/xiamin/Downloads/mtcnn-face-detect:/mtcnn elezar/caffe:cpu
刪除指定鏡像
docker rmi image_name
Volume
-v 容器映射
-v [本地目錄]:[容器內目錄] -volumes-from 從另一個容器引入數據,多個容器掛載同樣數據docker create -v $PWD/data:/var/mydata --name [容器名] ubantudocker run --volume-from data_container
Registry鏡像倉庫
daemon 守護程序
docker search ***docker pull ***
上傳到docker hub
docker logindocker push ***
鏡像複製重命名
docker tag [原鏡像名] [複製後鏡像名]
國內倉庫
阿里雲daocloud時速雲
Dockerfile
FROM …base image
MAINTAINER … 誰寫的CMD ….. 命令行RUN apt-get install … 執行命令COPY...拷貝文件ADD…. 添加文件(遠程)ENTRYPOINT ["","",""] 容器入口EXPOSE 80 暴露埠RUN sed -i s/http://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名稱] .
底層知識
鏡像分層存儲
推薦閱讀:
※Hyper:一款新推出的免費容器(類vps)
※基於Docker安裝、部署、破解Confluence 6.6圖文教程
※DaoCloud和雲雀到底誰家的技術比較強一些?VMware和微軟系的比較?
TAG:Docker |