Docker 使用中的一些最佳实践

Xiaohui Wang · · 1059 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Docker 使用中的一些最佳实践

本文将记录:

  • 在使用 Docker 的过程中整理出来的最佳实践。
  • 其他 Docker 使用者发布的(可能会是翻译过来的,全部附带原始链接)经过验证的最佳实践。

所以,本文将长期更新。

Docker 安装相关

如果安装完成后使用 docker 时出现下面的错误:

> Cannot connect to the Docker daemon. Is 'docker -d' running on this host?

参考这里的内容,我们需要执行下面的命令来安装 apparmor:

sudo apt-get install apparmor

Docker 使用相关

  • 使用 Bash Aliases 简化 Docker 使用命令,灵感来自于一篇很好的文章(发布这篇文章的站点 docker.cn 也是很好的 docker 资源站),我做了扩充:

将下面的内容添加到 $HOME/.bash_aliases 中:

# Show all available docker related aliases.
alias dockeraliases='printf "\nBelow are all pre-defined docker maintainance aliases:\n\ndkka | dockerkillall\tKill all running containers\ndksa | dockerstopall\tStop all running containers\ndkrc | dockerremovec\tRemove all stopped containers\ndkri | dockerremovei\tRemove all untagged images\ndkra | dockerremovea\tRemove all stopped containers and untagged images\n\n"'
alias dkas='printf "\nBelow are all pre-defined docker maintainance aliases:\n\ndkka | dockerkillall\tKill all running containers\ndksa | dockerstopall\tStop all running containers\ndkrc | dockerremovec\tRemove all stopped containers\ndkri | dockerremovei\tRemove all untagged images\ndkra | dockerremovea\tRemove all stopped containers and untagged images\n\n"'
 
# Kill all running containers.
alias dockerkillall='printf "\n>>> Killing all running containers\n\n" && docker kill $(docker ps -q) && printf "\n"'
alias dkka='printf "\n>>> Killing all running containers\n\n" && docker kill $(docker ps -q) && printf "\n"'
 
# Stop all running containers.
alias dockerstopall='printf "\n>>> Stopping all running containers\n\n" && docker stop $(docker ps -q) && printf "\n"'
alias dksa='printf "\n>>> Stopping all running containers\n\n" && docker stop $(docker ps -q) && printf "\n"'
 
# Remove all stopped containers.
alias dockerremovec='printf "\n>>> Removing stopped containers\n\n" && docker rm $(docker ps -a -q) && printf "\n"'
alias dkrc='printf "\n>>> Removing stopped containers\n\n" && docker rm $(docker ps -a -q) && printf "\n"'
 
# Remove all untagged images.
alias dockerremovei='printf "\n>>> Removing untagged images\n\n" && docker rmi $(docker images -q -f dangling=true) && printf "\n"'
alias dkri='printf "\n>>> Removing untagged images\n\n" && docker rmi $(docker images -q -f dangling=true) && printf "\n"'
 
# Remove all stopped containers and untagged images.
alias dockerremovea='dockerremovec || true && dockerremovei'
alias dkra='dockerremovec || true && dockerremovei'

然后,在命令行中执行 “source ~/.bash_aliases” 就可以使用这些别名了,比如:

$ dkas

Below are all pre-defined docker maintainance aliases:

dkka | dockerkillall    Kill all running containers
dksa | dockerstopall    Stop all running containers
dkrc | dockerremovec    Remove all stopped containers
dkri | dockerremovei    Remove all untagged images
dkra | dockerremovea    Remove all stopped containers and untagged images

-- EOF --

声明: 本文采用 BY-NC-SA 协议进行授权. 转载请注明转自: Docker 使用中的一些最佳实践


有疑问加站长微信联系(非本文作者)

本文来自:Ross's Page

感谢作者:Xiaohui Wang

查看原文:Docker 使用中的一些最佳实践

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1059 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传