linux:docker
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 文件:
- daemon.json
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
重启服务器后生效,使用 docker info 可验证是否设置成功。
Usage
Image
参考文章:https://yeasy.gitbooks.io/docker_practice/content/image
获取 image:
docker pull <img-name>:<tag>
列出所有 images:
docker image ls
列出 images 体积:
docker system df
删除 image:
docker image rm <image-id> or <name>:<tag>
批量删除 <none> 的 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 <container-hash> bash
如果从这个 stdin 中 exit,不会导致容器的停止。
使用 docker attach
命令进入容器,退出时会终止容器。
删除 container
docker container rm <name-of-container>
删除一个处于终止状态的容器docker container prune
清理所有处于终止状态的容器
Trick
alpine
Configurate Chinese mirror repositories:
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
linux/docker.txt · 最后更改: 2023/12/03 10:24 由 127.0.0.1