安装前依赖

添加仓库源和依赖,执行命令如下

$ sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装

$ sudo apt-get update
$ sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

配置dockerrootsudo用户操作

把当前非root用户添加到docker用户组,执行如下

$ sudo groupadd docker
$ sudo gpasswd -a ${USER} docker

由于当前终端shell还保留着旧用户信息
现在新开一个终端执行命令验证是否可以非sudo操作

$ docker info

如果报错如下,重启机器即可

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock....

修改docker镜像源

镜像源地址推荐

  • 阿里云
    https://registry.cn-hangzhou.aliyuncs.com
    如果有账号的, 使用[系统分配前缀].mirror.aliyuncs.com
  • 腾讯云
    https://mirror.ccs.tencentyun.com
  • docker中国
    https://registry.docker-cn.com
  • 网易
    http://hub-mirror.c.163.com
  • 中科大
    https://docker.mirrors.ustc.edu.cn

编辑/etc/docker/daemon.json写入如下内容

{
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn", 
        "http://hub-mirror.c.163.com"]
}

修改完成之后执行如下命令,重启服务

$ sudo systemctl restart docker

查看修改镜像是否成功

$ docker info
#输出信息包含如下
...
 Registry Mirrors:
  https://docker.mirrors.ustc.edu.cn/
  http://hub-mirror.c.163.com/
....

目前的docker-compose可以作为dockersub command调用,这个也是目前推荐的方式
编辑一个compose.yaml文件

services:
  redis:
    image: redis
    ports:
    - 6379:6379
    restart: always

compose.yaml文件同级路径执行命令验证之前步骤是否正确

$ docker compose version
$ docker compose up -d
$ docker compose ps
$ docker compose down

命令兼容

由于很多人之前接触的是1.**版本的docker-compose,命令也习惯使用docker-compose up这样的,而不是docker compose up,所以为了与旧版本兼容

$ sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose 

现在可以执行两种风格的compose命令了

参考阅读

docker官方安装文档


龚正阳
29 声望5 粉丝

粗犷型程序员