標籤:

優雅地使用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/archive.ubantu.com/mirr /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 |