Skip to content

安装前依赖

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

$ 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 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
$ 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
$ sudo groupadd docker
$ sudo gpasswd -a ${USER} docker

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

$ docker info
$ docker info

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

Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock
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"]
}
{
	"registry-mirrors": [
		"https://docker.mirrors.ustc.edu.cn", 
		"http://hub-mirror.c.163.com"]
}

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

$ sudo systemctl restart docker
$ sudo systemctl restart docker

查看修改镜像是否成功

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

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

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

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

$ docker compose version
$ docker compose up -d
$ docker compose ps
$ docker compose down
$ 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
$ sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose

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

参考阅读

docker官方安装文档

Last updated:

Released under the MIT License.