Docker安装及常用命令
1 Docker安装(Ubuntu)
1.1 Docker安装教程地址
(Install Docker Engine on Ubuntu | Docker Documentation)
1.2 安装步骤(最新版本)
-
卸载旧版本
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
-
安装仓库
sudo apt-get update sudo apt-get install ca-certificates curl gnupg
-
添加Docker的官方GPG key
sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg
-
设置仓库
echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
更新包
sudo apt-get update
-
安装Docker Engine,containerd,Docker Compose
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
-
验证是否安装成功
sudo docker run hello-world
1.3 安装步骤(指定版本)
1~5步骤同安装最新版本
-
显示出可用版本
# List the available versions: apt-cache madison docker-ce | awk '{ print $3 }' 5:24.0.0-1~ubuntu.22.04~jammy 5:23.0.6-1~ubuntu.22.04~jammy <...>
-
选择指定版本并安装
VERSION_STRING=5:20.10.24~3-0~ubuntu-jammy sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
-
验证是否安装成功
sudo docker run hello-world
1.4 设置Docker镜像
## 阿里云的容器镜像加速服务
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2 Docker常用命令
2.1 帮助启动类命令
- 启动Docker:systemctl start docker
- 停止Docker:systemctl stop docker
- 重启Docker:systemctl restart docker
- 查看Docker状态:systemctl status docker
- 开机启动Docker:systemctl enable docker
- 查看Docker概要信息:docker info
- 查看Docker总体帮助信息:docker --help
- 查看Docker命令帮助文档:docker 具体命令 --help
2.2 镜像命令
-
docker images:列出本地主机上的镜像
- -a:列出本地所有的镜像(包含历史镜像)
- -q:只显示镜像ID
-
docker search 某个镜像名字:搜索某个镜像是否仓库内
- –limit:只列出N个镜像,默认25个
-
docker pull 某个镜像名字[:tag]:下载镜像
tag表示版本,不添加tag默认下载最新版本
-
docker system df:查看镜像/容器/数据卷占用的空间
-
docker rmi 某个镜像的ID:移除某个镜像
- -f:强制删除
删除全部:
docker rmi -f $(docker images -aq)
2.3 容器命令
- docker run [OPTIONS] image [COMMAND] [ARG…]:新建+启动容器
- –name:为容器指定一个名称,不然就使用随便指定一个名称
- -d:后台运行容器,并返回容器ID,也即启动守护式容器(后台执行)
- -i:以交互模式运行容器,通常与 -t 同时使用
- -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用,也即启动交互式容器
- -P:随机端口映射,大写P
- -p:指定端口映射,小写p
- docker ps [OPTIONS]:列出正在运行的容器
- -a:列出当前所有正在运行的容器和历史上运行过的容器
- -l:显示最近创建的容器
- -n:显示最近n个创建的容器
- -q:静默模式,只显示容器编号
- docker start 容器ID或容器名:启动已停止运行的容器
- docker restart 容器ID或容器名:重启容器
- docker stop 容器ID或容器名:停止容器
- docker kill 容器ID或容器名:强制停止容器
- docker rm 容器ID:删除已停止的容器
- -f:强制删除
- docker logs 容器ID:查看容器日志
- docker top 容器ID:查看容器内运行的进程
- docker inspect 容器ID:查看容器内部细节
- docker exec [OPTIONS] 容器ID:进入容器,退出容器后不会导致容器的停止
- docker attach 容器ID:进入容器,推出后,会导致容器的停止
- docker cp 容器ID:容器内路径 目的主机路径:将容器内拷贝文件到主机上
- docker export 容器ID > 文件名.tar:导出容器的内容作为一个tar归档文件
- cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号:导入tar文件