Docker系列(三)常用命令

命令说明


docker pull
格式:

docke pull [OPTIONS] NAME[:TAG]

作用:下载名称为 name 的镜像


例子:

sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04

说明:
从 dl.dockerpool.com:5000 中下载TAG值为12.04的ubuntu镜像,省略dl.dockerpool.com:5000时,将默认从registry.hub.docker.com下载镜像.

docker commit
格式:

docker commit –m “说明信息” –a “用户信息” 创建镜像的容器ID 仓库名:TAG


作用:

提交更改后的容器,提交成功后返回镜像的ID

例子:
docker commit –m “更新镜像” –a “chenx” d2a0ecffe6fa ouruser/Sinatra:v2

docker build

格式:
sudo docker build –t=”镜像名:TAG” Dockerfile所在路径

作用:创建镜像

例子:

sudo docker build  -t=”aicep:v1” .

 

docker import
功能:从本地系统导入镜像到docker

例子:

sudo cat Ubuntu-14.04-x86_64-minimal.tar.gz|docker import  unbuntu-14.04 


docker run
功能:运行容器

参数说明:
--rm=true 表示启动临时容器,运行结束后将删除
格式:

sudo run –t –i  镜像名称:TAG 执行的进程名(容器名)

例子:

sudo docker run –t –i ouruser/sinatra:v2 /bin/bash 

-p与-P的区别
// Container端口(6000)映射到的宿机(5000)
sudo docker run –d –p 127.0.0.1:5000:6000  aicep:v1  /bin/bash

//Container随机分配的端口映射到宿机中随机分配的端口
sudo docker run –d –P aicep:v1 /bin/bash

Docker时有自动化的需求,你可以将containerID输出到指定的文件中(PIDfile): --cidfile=""
Docker的容器是没有特权的,例如不能在容器中再启动一个容器。这是因为默认情况下容器是不能访问任何其它设备的。但是通过"privileged",容器就拥有了访问任何其它设备的权限。

退出时删除容器
docker run  --rm=true –t –i ouruser/sinatra:v2 /bin/bash

端口映射
Docker run –i –t –p <host_port:contain_port> 将一个container的端口映射到宿主机的端口

文件共享
通过镜像test:v1创建并启动容器test,将本地目录/docker/volume与容器中的目录/var/tmp进行共享.
Docker run –v /docker/volume:/var/tmp  --name test –iv test:v1 /bin/bash

docker push
功能:把自己创建的镜像上传到仓库中来共享.

例子:

sudo docker push ouruser/sinatra 

 

docker ps
Docker ps ##查看正在运行的Container
Docker ps –a ##列出所有的Container
Docker ps –l ##列出最近一次运行的Container

docker rmi
功能:删除镜像,注意在删除镜像前必须先删除依赖镜像的容器
格式:Docker rmi <image id>

##删除id为<none>的镜像
Docker rmi $(docker images | grep “^<none>”|awk”{print $3}”) 

##删除全部的image
Docker rmi $(docker images -q)

docker rm
功能:删除容器
Docker rm &(docker ps –a -q) ##删除所有容器

docker stop
功能:停止容器
Docker stop $(docker ps –a -q)  ## 停止所有容器

docker inspect
功能:
查看Image/Container底层具体详细信息
查找Volume在主机存储的位置
Docker inspect –f {{.Volumes}} continer-test

查看容器IP
docker inspect --format='{{.NetworkSettings.IPAddress}}' ContainerName/Id

获取一个容器的进程ID
docker inspect –format “{{.State.Pid}}” <continer-id>

docker start
功能:启动容器
格式:docker start name/id   ##容器名或者容器ID,
Docker start –i name/id  ##启动一个container并进入交互模式.


docker kill
功能:杀死容器
格式:docker kill name/id  ##容器名或者容器ID


docker copy
功能:从容器中拷贝文件到本地
格式:docker copy (name或id):/容器中的路径  本地路径 


docker logs
功能: 从容器中取日志
格式:docker logs id/name


docker diff
功能:列出容器被改变的文件或者目录,list列表显示三种事件,A增加的,B删除的,C被改变的
格式:docker diff id/name


docker restart
功能:重启容器
格式:Docker restart id/name

docker attach
功能:attach一个运行中的container(建议使用docker exec),重新连接容器会话,断开时容器将关闭.
格式:docker attach <container>

docker port
功能:查看本地哪个端口映射到container的指定端口,docker ps也可查看
格式:docker port <container> <container  port>

docker exoport
功能:导出容器
格式:docker export <containerID>   >  本地路径
例子:docker export jdkimage > /docker/jdkcontainer.tar

docker save
功能:导出镜像
格式:docker save –o 本地路径 <imageID/name>
      或者docker save <imageID/name>   > 本地路径
例子:docker save -o  /docker/jimages.tar  qcdatainc/centos-jdk

docker exec
Docker3中引入,功能:进入到指定的容器中进行交互。
格式:docker exec –it <conttainerID/name>  命令

Docker create
功能:创建容器(不会启动)
格式:docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

例子
docker create -it --name=service  chenx/service  /bin/bash

posted @ 2015-10-22 10:40  会飞的纸盒  阅读(812)  评论(0编辑  收藏  举报