最近在VPS搭建了很多基于Docker的项目,都是随便玩玩。不过说实话,Docker很适合我这种懒人使用,特别简单粗暴。特别是快速部署方面,很节省时间。

分享一下安装的心得
卸载旧版本
防止之前服务器已经安装docker旧的版本,所以先卸载一下
1# CentOS
2sudo yum remove docker docker-common docker-selinux docker-engine
3
4# Debian
5sudo apt-get remove docker docker-engine docker.io containerd runc
安装依赖
1# CentOs
2sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3
4# Debian
5sudo apt-get update
6sudo apt-get install ca-certificates curl gnupg lsb-release
添加安装源
CentOS安装方式
1# 阿里云Docker源
2sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3
4#官方源
5sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6
7#关闭测试版本list(只显示稳定版)如果安装旧版就不用运行这段代码
8sudo yum-config-manager --enable docker-ce-edge
9sudo yum-config-manager --enable docker-ce-test
Debian安装方法
1# 添加密钥
2sudo mkdir -p /etc/apt/keyrings
3curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
4
5# 添加仓库
6echo "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
安装Docker
安装新版本的docker
1# CentOS
2sudo yum makecache fast
3sudo yum install docker-ce docker-ce-cli docker-compose-plugin
4
5# Debian
6sudo apt install docker-ce docker-ce-cli docker-compose-plugin
如果想指定版本安装,方法如下
1# 搜索可用的版本
2yum list docker-ce.x86_64 --showduplicates | sort -r
3apt-cache policy docker-ce
4
5# 安装指定版本
6sudo yum install <NAME>
7sudo apt install <NAME>
8#注:<name>写的是检测的版本。
9
10# 比如我想安装的是 5:28.3.2 那就运行
11
12sudo yum install docker-ce-17.03.0.ce.1-1.el7.centos
13sudo apt inatall docker-ce=5:28.3.2-1~debian.12~bookworm
启动Docker和相关的服务
运行测试程序
1docker run hello-world
2
3#出现如下及安装成功
4
5Hello from Docker!
6
7This message shows that your installation appears to be working correctly.
简单的Docker运维
官网文档上面也有很完善的解答和方法,下面介绍几种常用的命令。
拉取镜像
1docker pull [镜像名]:[标签]
例如,拉取 Debian 镜像
1docker pull debiann:unstable
运行容器
交互模式 适合需要手动操作容器内部环境的场景。 非交互模式 适合运行不需要用户交互的长期服务。
1# 交互模式运行
2docker run -d --name [容器名] [镜像名]:[标签]
3# 非交互模式运行
4docker run -d --name [容器名] [镜像名]:[标签]
5
6# 带存储化运行
7docker run -d --name [容器名] -v [宿主机目录]:[容器内目录] [镜像名]:[标签]
8
9# 网络访问运行
10docker run -d --name [容器名] --network host [镜像名]:[标签]
11
12# 端口访问方式
13docker run -d --name [容器名] -p [宿主机端口]:[容器端口] [镜像名]:[标签]
进入容器Shell命令行
1docker exec -it [容器名] /bin/bash
查看容器运行情况
查看当前容器
1docker ps
查看所有容器(包含停止的)
1docker ps -a
管理容器
启动停止的容器
1docker start [容器名]
停止容器
1docker stop [容器名]
删除容器
1docker rm [容器名]
删除镜像
1docker rmi [镜像名]:[标签]
查看容器占用
1docker stats
容器保存更改
把修改保存为新镜像
1docker commit [容器名] [新镜像名]
修改运行配置文件
Docker 容器的设计理念是不可变性,即一旦容器启动,其配置和文件系统通常是固定的。我们可以删除重建,但是关键数据要及时保存和备份。
Docker 命令修改
1docker stop [容器名]
2docker rm [容器名]
3docker run -d --name [容器名] -p [本机端口]:[容器端口] [容器名]:[标签] -v [宿主机目录]:[容器内目录]
Docker Compose 修改
docker-compose 来管理容器,可以通过修改 docker-compose.yml 文件并重新部署来更新配置。
更换国内加速源
更换 Docker 镜像加速源可以帮助你更快地拉取镜像,特别是在国内网络环境下。
- Docker 的镜像加速配置文件是
/etc/docker/daemon.json
- 添加镜像加速器配置
在 daemon.json 文件中添加以下内容
1{
2 "registry-mirrors": [
3 "https://docker.1ms.run", //加速器地址
4 "https://docker.m.daocloud.io"
5 ]
6}
- 重启 Docker 服务
- 验证配置加速源
1docker info | grep -A 1 Mirrors