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
例子:
格式:
作用:创建镜像
例子:
sudo docker build -t=”aicep:v1” .
docker import
功能:从本地系统导入镜像到docker
例子:
docker run
功能:运行容器
参数说明:
--rm=true 表示启动临时容器,运行结束后将删除
格式:
sudo run –t –i 镜像名称:TAG 执行的进程名(容器名)
例子:
-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
功能:把自己创建的镜像上传到仓库中来共享.
例子:
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