插件窝 干货文章 ecs上怎么使用docker(教程)

ecs上怎么使用docker(教程)

Docker sudo 容器 bash 41    来源:    2025-04-30

在ECS上使用Docker的完整教程

1. 准备工作

首先确保你有一台ECS实例,并已通过SSH连接到该实例。

2. 安装Docker

对于CentOS/RHEL系统

# 卸载旧版本(如果存在)
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

对于Ubuntu系统

# 卸载旧版本(如果存在)
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

3. 验证安装

sudo docker run hello-world

如果看到"Hello from Docker!"的消息,说明安装成功。

4. 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

5. 管理镜像

拉取镜像

sudo docker pull ubuntu:20.04

查看镜像

sudo docker images

删除镜像

sudo docker rmi ubuntu:20.04

6. 使用Docker Compose(可选)

安装Docker Compose

# 下载最新版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

7. 安全建议

  1. 不要使用root用户运行Docker:

    sudo groupadd docker
    sudo usermod -aG docker $USER
    newgrp docker  # 或者重新登录
    
  2. 配置Docker守护进程:

    • 编辑/etc/docker/daemon.json
    • 限制日志大小等
  3. 定期更新Docker:

    sudo yum update docker-ce  # CentOS
    sudo apt-get update && sudo apt-get upgrade docker-ce  # Ubuntu
    

8. 常见问题解决

问题1: 无法连接到Docker守护进程

解决:

sudo systemctl start docker
sudo systemctl enable docker

问题2: 端口冲突

解决: 检查并停止占用端口的服务,或修改容器映射端口。

问题3: 磁盘空间不足

解决:

# 清理未使用的容器、网络、镜像和构建缓存
sudo docker system prune

希望这个教程能帮助你在ECS上顺利使用Docker!