大数据

Docker命令

操作 Docker

查看docker信息(version、info)

查看docker版本

docker version

显示docker系统的信息

docker info

对image的操作(search、pull、images、rmi、history)

检索image

docker search image_name

下载image

docker pull ubuntu:12.04

等价于

docker pull registry.hub.docker.com/ubuntu:12.04

列出镜像列表; -a, –all=false Show all images; –no-trunc=false Don’t truncate output; -q, –quiet=false Only show numeric IDs

docker images

删除一个或者多个镜像; -f, –force=false Force; –no-prune=false Do not delete untagged parents

docker rmi 镜像名称/镜像ID

删除所有的镜像

docker rmi $(docker images -q)

显示一个镜像的历史; –no-trunc=false Don’t truncate output; -q, –quiet=false Only show numeric IDs

docker history image_name

容器操作(run)

创建、登陆容器

创建容器
ubuntu 镜像名
14.04 镜像标签
/bin/bash 让其中运行 bash 应用

docker run -dit --name my-lnmp ubuntu:14.04

docker run -dit -p 8080:80 -p 3306:3306 -v /Users/cven/www/aiyouTest/:/usr/share/nginx/html/  --name my-lnmp registry.cn-hangzhou.aliyuncs.com/kfk/ubuntu-lnmp-php7 /bin/bash -c /start.sh

启动容器
cd04d4667050 容器ID

docker start cd04d4667050

登陆容器

docker attach lnmp-php7

在容器中运行”echo”命令,输出”hello word”

docker run image_name echo "hello word"

交互式进入容器中

docker run -i -t image_name /bin/bash

在容器中安装新的程序

docker run image_name apt-get install -y app_name

查看、删除容器

查看正在运行的容器

docker ps

查看所有的容器

docker ps -a

列出最近一次启动的container

docker ps -l

删除容器

docker rm 容器ID

删除所有容器

docker rm `docker ps -a -q`

停止、启动、杀死一个容器

docker stop Name/ID
docker start Name/ID
docker kill Name/ID

检索容器

列出一个容器里面被改变的文件或者目录,list列表会显示出三种事件,A 增加的,D 删除的,C 被改变的

docker diff Name/ID

显示一个运行的容器里面的进程信息

docker top Name/ID

从容器里面拷贝文件/目录到本地一个路径

docker cp Name:/container_path to_path
docker cp ID:/container_path to_path

重启一个正在运行的容器; -t, –time=10 Number of seconds to try to stop for before killing the container, Default=10

docker restart Name/ID

保存对容器的修改(commit)

保存对容器的修改; -a, –author=”” Author; -m, –message=”” Commit message
Note: image相当于类,container相当于实例,不过可以动态给实例安装新软件,然后把这个container用commit命令固化成一个image。

docker commit ID new_image_name

保存和加载镜像(save、load)

保存镜像到一个tar包; -o, –output=”” Write to an file

docker save image_name -o file_path

加载一个tar包格式的镜像; -i, –input=”” Read from a tar archive file

docker load -i file_path

机器a

docker save image_name > /home/save.tar

使用scp将save.tar拷到机器b上,然后:

docker load < /home/save.tar

登录registry server(login)

登陆registry server; -e, --email="" Email; -p, --password="" Password; -u, --username="" Username

docker login

发布image(push)

发布docker镜像

docker push new_image_name

根据Dockerfile 构建出一个容器

build
--no-cache=false Do not use cache when building the image
-q, --quiet=false Suppress the verbose output generated by the containers
--rm=true Remove intermediate containers after a successful build
-t, --tag="" Repository name (and optionally a tag) to be applied to the resulting image in case of success

docker build -t image_name Dockerfile_path