docker 使用精要

全栈 shanhuhai 662℃ 0评论

容器管理

检查容器启动日志

docker logs 容器id/容器名称

启动一个已经被终止的容器

docker start 容器id/容器名称

以交互方式启动一个已经被终止的容器

docker start -i 容器id/容器名称

终止容器

docker stop 容器id/容器名称

重启容器

docker restart 容器id/容器名称

导出容器

docker export 7691a814370e > ubuntu.tar

导入容器为镜像

cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0

用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息。

数据共享

创建一个数据卷

docker run -ti -v /webapp --name data ubuntu /bin/bash

在主机和容器间共享数据,即将主机的某个目录来作为容器的数据卷

docker run -ti -v /root/data:/opt/data ubuntu /bin/bash

ps 目录必须用绝对路径

在多个容器间共享数据


docker run -ti -v /dbdata --name dbdata training/postgres 

docker run -ti --volumes-from dbdata --name db1 training/postgres /bin/bash
docker run -ti --volumes-from dbdata --name db2 training/postgres /bin/bash
docker run -ti --volumes-from db1 --name db3 training/postgres /bin/bash  #从已经挂载了数据卷的容器来挂载数据卷

其他技巧

使用镜像执行命令时,不创建容器

docker run b15 /bin/echo 'Hello world'  --rm=true

删除所有容器

docker rm `docker ps -a -q` 

通过容器创建镜像

docker commit -m "Added json gem" -a "Docker Newbee" 0b26 ouruser/sinatra:v2

-m “” 修改备注
-a “” 作者信息
0b26 容器的id
ouruser/sinatra:v2 仓库名:tag

导出镜像

docker save -o ubuntu_14.04.tar ubuntu:14.04

导入镜像


docker load < ubuntu_14.04.tar

转载请注明:大后端 » docker 使用精要

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址