dokcer常用命令

文章来自于 CSDN docker常用命令详解 

 

docker常用命令分类

 

 

 常用命令

docker run -d --name express-docker-demo --restart=always -p 3005:3004 -v /data/reistry:/var/lib/reistry express-demo

命令

-d:后台运行容器,只返回一个ID

--restart=always:自动启动容器

--name express-docker-demo:命名为express-docker-demo

-p 3005:3004:映射3004端口为3005端口,也可以映射多个接口,格式是-p newport:oldport -p newport:oldport

-v /data/reistry:/var/lib/restry:将目录/var/lib/restry映射成/data/reistry

express-demo:镜像名

-------------------------------------------------------------------------------------------

docker stats 容器名:获取容器的CPU/内存/网络等信息

docker top 容器名:可以知道当前容器运行的进程信息

docker port 容器名:可以查看当前容器的端口映射信息(多个端口映射就会显示多条)

docker exec -it 容器名 bash:以bash登陆至当前的容器中(进入某个容器并可以使用ls等linux命令)-i:交互式操作,-t:终端

docker diff 容器名:可以查看到容器的文件一致或是不一致

inspect(查看容器的信息,docker inspect express-docker-demo | grep -i memory)
update(更新容器信息,docker update -m 256m express-docker-demo更新内存至256m)
cp(拷贝文件,容器与宿主机器互相拷贝文件)
save(将镜像导出至tar文件,docker save express-demo > express-dev.tar)
load(将tar文件导成镜像文件,docker load < express-dev.tar)
export(把容器保存成tar文件)
import(把tar文件导出至镜像列表)
注:export/import与save/load的作用相似,推荐使用save/load
Valume容器间共享数据
docker run -d -v/web-data:/tmp:ro --name data-container express-demo
容器tmp目录映射为宿主机的web-data目录,即宿主机可以读取数据,ro为只读的


docker run -d --volumes-from data-container --name web-container apps
docker run -d --volumes-from data-container --name web-container-2 apps
创建两个容器,volume来自于第一个容器

后面两个容器使用命令docker exec -it web-container ls /tmp就可以读取到第一个容器的文件(设置为只读的就是只读的)

 

docker images 可以查看到所有本地的镜像,会有一个名称为None的镜像,为虚悬镜像,一般是可以直接删除的,如果需要查看,可以使用命令
docker images -f dangling=true
删除此类镜像,docker rmi $(docker images -q -f dangling=true)
docker images -a 查看中间层镜像,也是无标签镜像,但是其他镜像所依赖的镜像,这类镜像不应该删除,否则其他上层镜像因为丢失依赖而出错
docker images 可以列出所有镜像
docker images ubuntu:16:04 列出指定仓库名和标签
docker images -f since=mongo:3.2 列出mongo 3.2之后的镜像(f代表的是filter)
docker images -f before=mongo:3.2 列出mongo 3.2之前的镜像
docker images -f label=com.example.version=0.1 通过label来进行过滤
docker images -q 只列出镜像的ID(有时帮助删除镜像)
docker images --format "{{.ID}}: {{.Repository}}" 会直接列出镜像结果,并且只包含镜像ID和仓库名

 

docker exec -itd ubuntu_bash bash
在某个窗口运行命令,并且使用终端的交互式操作,并且如果需要等待很长时间,也会很快返回,不加d则会运行完成后才返回
进入至某个容器运行了命令后,需要返回,直接使用exit即可返回
1.停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

2.查看当前有些什么images

docker images

3.删除images,通过image的id来指定删除谁

docker rmi <image id>

想要删除untagged images,也就是那些id为<None>的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

要删除全部image的话

docker rmi $(docker images -q)

 

 

  

 

 

posted @ 2017-04-12 14:41  WesChan  阅读(536)  评论(0编辑  收藏  举报