阿里云安装docker

准备工作

已创建一台基础ECS实例,并满足以下配置。如何创建ECS实例?

  • 操作系统:Alibaba Cloud Linux 3 64位、Alibaba Cloud Linux 2 64位、CentOS 7.x 64位、CentOS 8.x 64位、Ubuntu 22/20、Debain 11/12
  • 网络类型:专有网络VPC
  • IP地址:实例已分配公网IP地址或绑定弹性公网IP(EIP)。如何为ECS实例开通公网?
  • 安全组:入方向放行80、22端口。具体操作,请参见如何添加安全组规则放行端口

操作步骤

远程连接ECS实例。具体操作,请参见通过密码或密钥认证登录Linux实例

安装Docker。

更新软件包列表。

sudo apt update

安装Docker所需依赖包。

sudo apt-get -y install ca-certificates curl

创建/etc/apt/keyrings目录,并下载Docker的官方GPG密钥到该目录。

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

将Docker仓库添加到系统的软件源列表。

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] http://mirrors.aliyun.com/docker-ce/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新软件包列表。

sudo apt update

安装Docker。

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

查看docker版本信息。

docker -v

如下图回显信息所示,表示Docker已安装成功

启动Docker守护进程并设置开机自启动。

  • 执行以下命令,启动Docker服务,并设置开机自启动
sudo systemctl start docker
sudo systemctl enable docker

执行以下命令,查看Docker是否启动。

sudo systemctl status docker

如下图回显所示,表示Docker已启动。

安装并使用docker-compose

docker-compose是Docker官方提供的用于定义和运行多个Docker容器的开源容器编排工具,可以使用YAML文件来配置应用程序需要的所有服务,然后使用docker-compose运行命令解析YAML文件配置,创建并启动配置文件中的所有Docker服务,具有运维成本低、部署效率高等优势。

关于docker-compose的更多信息,请参见Docker官网

安装docker-compose

运行以下命令,安装setuptools。

sudo pip3 install -U pip setuptools

运行以下命令,安装docker-compose。

sudo pip3 install docker-compose

运行以下命令,验证docker-compose是否安装成功。

docker-compose --version
  1. 如果回显返回docker-compose版本信息,表示docker-compose已安装成功。

使用docker-compose部署应用

下文以部署WordPress为例,介绍如何使用docker-compose部署应用。

  1. 创建并编辑docker-compose.yaml文件。
    1. 运行以下命令,创建docker-compose.yaml文件。
sudo vim docker-compose.yaml
  1. (可选)配置镜像加速服务。由于运营商网络原因,会导致您拉取Docker Hub镜像变慢,甚至下载失败。您可以使用阿里云容器镜像服务ACR提供的官方镜像加速器,加速官方镜像的下载。具体操作,请参见官方镜像加速
  2. 按下i键,进入编辑模式,新增以下内容。本示例以安装WordPress为例。
version: '3.1'             # 版本信息

services:

  wordpress:               # 服务名称         
    image: wordpress       # 镜像名称
    restart: always        # docker启动,当前容器必启动
    ports:
      - 80:80              # 映射端口
    environment:           # 编写环境
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: 123456
      WORDPRESS_DB_NAME: wordpress
    volumes:               # 映射数据卷
      - wordpress:/var/www/html

  db:                      # 服务名称    
    image: mysql:5.7       # 镜像名称
    restart: always        # docker启动,当前容器必启动
    ports:
       - 3306:3306         # 映射端口
    environment:           # 环境变量
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: 123456
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:               # 卷挂载路径
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

按下Esc键,退出编辑模式,然后输入:wq保存并退出。

执行以下命令,启动应用.

sudo env "PATH=$PATH" docker-compose up -d

在浏览器中输入http://云服务器ECS实例的公网IP,即可进入WordPress配置页面,您可以根据界面提示配置相关参数后,访问WordPress。

安装Portainer

创建daemon.json文件

sudo nano /etc/docker/daemon.json

添加基本配置: 在文件中添加以下内容,使用国内镜像源以提高拉取速度:

{
  "registry-mirrors": ["https://docker.1panel.live"]
}

重启Docker服务

sudo systemctl restart docker

将用户添加到docker 组

sudo usermod -aG docker ecs-user

重新登录:添加用户到 docker 组后,需要重新登录才能使更改生效。你可以注销并重新登录,或者使用以下命令:

newgrp docker

部署Portainer服务器

docker volume create portainer_data
docker run -d -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

云服务器使用docker安装portainer容器可视化管理工具-阿里云开发者社区 (aliyun.com)

https://help.aliyun.com/zh/ecs/use-cases/install-and-use-docker-on-a-linux-ecs-instance#0094d5888ersf

debian 使用docker安装homeassistant

sudo docker run -d \
  --name home-assistant \
  -v /etc/homeassistant/config:/config \
  -v /etc/homeassistant/addons:/addons \
  -v /etc/homeassistant/media:/media \
  -e TZ="Asia/Shanghai" \
  -p 8123:8123 \
  homeassistant/home-assistant:stable

进入docker homeassistant容器中通过命令安装

wget -O - https://get.hacs.xyz | bash -

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注