文章目录

  • linux下离线docker安装运行
  • 前言
  • 环境
  • 安装docker
  • 下载docker二进制包
  • 配置国内镜像
  • 运行docker
  • 其他配置
  • 开机启动
  • 参考


linux下离线docker安装运行

前言

  • 如果服务器能外网访问,那么根据官网的描述即可通过包管理器轻松搭建docker环境,但如果服务器处在内网无法访问外网时,那就只能通过离线二进制包进行安装了。

环境

  • 本文所属皆在centos7下运行,内核版本3.10

安装docker

下载docker二进制包

  • 在https://download.docker.com/linux/static/stable/ 此路径下下载对应系统的docker压缩包
  • 比如我此处下载的是docker-18.09.1.tgz
  • 将下载好的压缩包通过scp或xftp拷贝进centos进行解压,比如我解压在docker18091目录下
  • 接着cd到docker18091目录,执行
sudo cp ./* /usr/bin/
  • 以上命令表示把docker18091下的东西拷贝进bin目录下

注意以上拷贝进bin的步骤不是必须的,但如果没有这步骤,则需要把docker配置进环境变量

配置国内镜像

  • 由于已知的原因,国内访问速度比较慢,因此最好配置下国内的镜像
  • 在/etc/docker/daemon.json(如果没有这个文件那么创建就好了)中添加如下镜像地址(可以修改为你喜欢的任何国内镜像地址)
{
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }

运行docker

  • 配置完毕后输入以下命令运行docker,等待一段时间后输入docker -v,如果正常得到版本号那么基本的docker环境已经搭建好了
sudo dockerd &

其他配置

开机启动

  • 二进制版安装是不会开机自启动的,这样每次开机都要手动去执行一下命令运行docker就太麻烦了,因此把docker交给systemd去管理,实现开机自启动
  • 当我们使用systemctl restart docker去重启docker时会发现提示错误

Failed to execute operation: No such file or directory

sudo reboot
  • 开完机可以启动docker服务了
sudo systemctl start docker
  • 最后执行命令使docker服务开机自启动
sudo systemctl enable docker
  • 上面的步骤追踪之所以不用原本的docker.service,是因为docker.service比docker.service.rpm多出了Requires=docker.socket这一项,因此会导致错误

A dependency job for docker.service faled. See ‘journalctl -xe’ for details.