强大的容器服务,后端开发打包必备。
安装
Debian 的 apt 安装
# 准备环境
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
# 添加 GPG KEY
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 添加 repo
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
使用命令行脚本安装
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh --dry-run
维护
清理 docker 垃圾
docker image prune --all
docker systemctl prune -a
容器相关
# 启动容器
docker start {container_id}
# 列出容器
docker ps -a
# 复制文件
docker cp {local_path} {container_id}:{container_path}
# 删除所有容器
docker rm $(docker ps -aq)
# 删除镜像
docker rmi {image-id}
# 显示容器日志
docker logs -f {container_id}
# 查看构建历史
docker history
# 配置端口映射
docker port {contrainer_id} 80
# 删除虚悬镜像
docker image prune
运行
# 运行容器,在后台 daemon 运行
docker run -d {image_id}
docker run -it {image_id} /bin/bash
# 进入容器
# i 终端保持打开
# t 分配伪终端
docker exec -it {container_id} /bin/bash
# 依附到容器
# attach 退出后,容器会停止
docker attach {container_id}
# 查看容器详情
docker inspect {container_id}
网络配置
# 自动映射端口,将本机的随机端口映射到容器的开放端口
docker run -d -P {image_id}
# 绑定本地所有地址
docker run -d -p 80:80 {image_id}
# 映射指定地址的指定端口
docker run -d -p 127.0.0.1::00 {image_id}
# 使用宿主机网络
docke run -d --net-host {image_id}
文件系统和磁盘
# 设置文件系统大小
docker run -d --storage-opt size=1G ubuntu
# 映射文件系统
docker run -v /host_path:/target_path {image_name}
环境变量
# 配置环境变量
docker run --name docker -e USERNAME="WANEFI" {image-name}
daemon 守护程序管理
# 显示当前配置
docker info
# 查看活动网络
docker network ls