首先确保你有一台ECS实例,并已通过SSH连接到该实例。
# 卸载旧版本(如果存在)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 安装必要工具
sudo yum install -y yum-utils
# 设置稳定的仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker引擎
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动Docker
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 卸载旧版本(如果存在)
sudo apt-get remove docker docker-engine docker.io containerd runc
# 更新apt包索引
sudo apt-get update
# 安装依赖包
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 验证密钥指纹
sudo apt-key fingerprint 0EBFCD88
# 添加稳定版仓库
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
# 安装Docker引擎
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 启动Docker
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
sudo docker run hello-world
如果看到"Hello from Docker!"的消息,说明安装成功。
# 运行Nginx容器
sudo docker run -d -p 80:80 --name mynginx nginx
# 查看运行中的容器
sudo docker ps
# 查看所有容器(包括停止的)
sudo docker ps -a
# 停止容器
sudo docker stop mynginx
# 启动容器
sudo docker start mynginx
# 删除容器(必须先停止)
sudo docker rm mynginx
# 强制删除运行中的容器
sudo docker rm -f mynginx
sudo docker pull ubuntu:20.04
sudo docker images
sudo docker rmi ubuntu:20.04
# 下载最新版Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 验证安装
docker-compose --version
创建docker-compose.yml
文件:
version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
启动服务:
sudo docker-compose up -d
停止服务:
sudo docker-compose down
不要使用root用户运行Docker:
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker # 或者重新登录
配置Docker守护进程:
/etc/docker/daemon.json
定期更新Docker:
sudo yum update docker-ce # CentOS
sudo apt-get update && sudo apt-get upgrade docker-ce # Ubuntu
问题1: 无法连接到Docker守护进程
解决:
sudo systemctl start docker
sudo systemctl enable docker
问题2: 端口冲突
解决: 检查并停止占用端口的服务,或修改容器映射端口。
问题3: 磁盘空间不足
解决:
# 清理未使用的容器、网络、镜像和构建缓存
sudo docker system prune
希望这个教程能帮助你在ECS上顺利使用Docker!