====== Docker ======
[[wp>docker|Docker]] is a utility to pack, ship and run any application as a lightweight container.
===== Installation =====
Add current user to ''docker'' group:
sudo gpasswd -a [user] docker
newgrp docker
docker info # test its working
配置国内加速镜像
对于使用 systemd 的系统,编辑/新建 /etc/docker/daemon.json 文件:
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
重启服务器后生效,使用 docker info 可验证是否设置成功。
===== Usage =====
==== Image ====
参考文章:https://yeasy.gitbooks.io/docker_practice/content/image
获取 image:
docker pull :
列出所有 images:
docker image ls
列出 images 体积:
docker system df
删除 image:
docker image rm or :
批量删除 的 Docker image:
docker image prune
**组合技巧**
比如,我们需要删除所有仓库名为 redis 的镜像:
docker image rm $(docker image ls -q redis)
或者删除所有在 mongo:3.2 之前的镜像:
docker image rm $(docker image ls -q -f before=mongo:3.2)
==== Container ====
docker run
Options:
* ''-t'' 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
* ''-i'' 让容器的标准输入保持打开
* ''--rm'' 退出后自动删除该 container
* ''-d'' 守护态允许(与 ''-it'' 选项冲突)
操作容器状态(启动、终止和重启)
docker container start
docker container stop
docker container restart
进入后台运行中的容器
docker exec -it bash
如果从这个 stdin 中 exit,不会导致容器的停止。
使用 ''docker attach'' 命令进入容器,退出时会终止容器。
删除 container
* ''docker container rm '' 删除一个处于终止状态的容器
* ''docker container prune'' 清理所有处于终止状态的容器
===== Trick =====
==== alpine ====
Configurate Chinese mirror repositories:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories