Linux离线安装docker

2019/10/24,docker
摘要:CentOS 7.6中离线安装docker 18.06.3以及docker-compose 1.24.1
在线安装可参照 文档

所需环境

1.CentOS 7.6,内核版本需要大于3.10(使用uname -r查看内核版本)
2.docker安装包18.06.3(19版本我在使用中报了oci runtime的错误,但是18版本没问题)

建立安装脚本

将docker-18.06.3-ce.tgz传输到Linux系统后,同目录下新建脚本install-docker.sh,输入以下内容

#!/bin/sh

usage(){
  echo "使用方法: $0 FILE_NAME_DOCKER_CE_TAR_GZ"
  echo "          $0 docker-18.06.3-ce.tgz"
  echo "Get docker-ce binary from: https://download.docker.com/linux/static/stable/x86_64/"
  echo "eg: wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz"
  echo ""
}
SYSTEMDDIR=/usr/lib/systemd/system
SERVICEFILE=docker.service
DOCKERDIR=/usr/bin
DOCKERBIN=docker
SERVICENAME=docker

if [ $# -ne 1 ]; then
  usage
  exit 1
else
  FILETARGZ="$1"
fi

if [ ! -f ${FILETARGZ} ]; then
  echo "Docker binary tgz files does not exist, please check it"
  echo "Get docker-ce binary from: https://download.docker.com/linux/static/stable/x86_64/"
  echo "eg: wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz"
  exit 1
fi

echo "##unzip : tar xvpf ${FILETARGZ}"
tar xvpf ${FILETARGZ}
echo

echo "##binary : ${DOCKERBIN} copy to ${DOCKERDIR}"
cp -p ${DOCKERBIN}/* ${DOCKERDIR} >/dev/null 2>&1
which ${DOCKERBIN}

echo "##systemd service: ${SERVICEFILE}"
echo "##docker.service: create docker systemd file"
cat >${SYSTEMDDIR}/${SERVICEFILE} <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd                 -H tcp://0.0.0.0:4243                 -H unix:///var/run/docker.sock                 --selinux-enabled=false                 --log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

echo ""

systemctl daemon-reload
echo "##Service status: ${SERVICENAME}"
systemctl status ${SERVICENAME}
echo "##Service restart: ${SERVICENAME}"
systemctl restart ${SERVICENAME}
echo "##Service status: ${SERVICENAME}"
systemctl status ${SERVICENAME}

echo "##Service enabled: ${SERVICENAME}"
systemctl enable ${SERVICENAME}
cat >/etc/docker/daemon.json <<EOF
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
swapoff -a
iptables -P FORWARD ACCEPT
sysctl --system
systemctl daemon-reload
systemctl restart docker.service

echo "## docker version"
docker version

运行安装脚本

脚本新建好后应该如下图所示

接下来运行脚本安装

sudo sh install-docker.sh docker-18.06.3-ce.tgz

安装会自动启用docker服务,自启动等。最后输出docker版本即表示已经安装成功

如果是非root账号,此时使用docker run等命令总是需要sudo权限,需要给当前用户添加docker权限

添加docker权限

建立docker组:

sudo groupadd docker

将当前用户加入 docker组:

sudo usermod -aG docker $USER

重启 docker 服务:

sudo service docker restart 

此时断开ssh重新连接(或者退出当前终端并重新登录)
运行docker run不再提示没有权限

安装docker-compose

以下命令会联网下载docker-compose到 /usr/local/bin/目录下

sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

#或使用github的地址(速度可能会慢一点)
#sudo curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

如果不能联网,可以在别的系统下下载好,拷贝到/usr/local/bin/目录下也是可以的
接下来对二进制包赋予权限

sudo chmod +x /usr/local/bin/docker-compose

完成后,docker-compose即可使用

docker-compose --version

原文地址:https://www.cnblogs.com/kasnti/p/11730569.html

时间: 2024-10-02 18:22:39

Linux离线安装docker的相关文章

Linux离线安装docker&amp;docker-compose

1.安装docker 1.1 下载docker离线安装包 下载地址 链接:https://pan.baidu.com/s/1GLXoyQ9ZrFpiq-iAzqdg6A 提取码:nf7s 1.2 安装 1.解压 tar -xvf docker-18.06.1-ce.tgz 2.将解压出来的docker文件内容移动到 /usr/bin/ 目录下 cp docker/* /usr/bin/ 3.将docker注册为service vim /etc/systemd/system/docker.serv

【转】linux离线安装docker服务

1. 准备docker离线包 docker官方离线包下载地址 下载需要安装的docker版本,我此次下载的是 docker-17.03.2-ce.tgz版本 2. 准备docker.service 系统配置文件 [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants

Ubuntu 离线安装 docker

1.下载离线包,网址:https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 离线安装docker需要下载3个包,containerd.io ,docker-ce-cli,docker-ce 2.下载完毕后拷贝到ubuntu上用 dpkg 命令安装,先安装 containerd.io 跟 docker-ce-cli,最后安装docker-ce,命令 sudo dpkg -i xxxx.deb 原文地址:ht

离线安装docker(RedHat7.4)

离线安装docker(RedHat7.4) docker 1. 下载地址 2. 解压并注册为service 1. 下载地址 官网下载地址:下载 官网文档地址:文档 2. 解压并注册为service 下载安装 # 下载 tarball="docker-18.09.7.tgz" wget -c https://download.docker.com/linux/static/stable/x86_64/${tarball} # 解压 tar -zxvf ${tarball} # 复制到/u

Linux上安装Docker

到目前为止在linux上面安装Docker的最好方式是通过Docker提供的安装脚本来安装.尽管大多数的linux发行版有他们自己的包,但是考虑到Docker的发展速度,那些包都有些过时. 安装Docker需求: 内核版本为3.10或之上,可以通过uname -r来检查,如果你正在使用RHEL或CentOS,你需要7版本或者更新的. 同时记住你需要运行一个64位的架构,可以通过uname -m来检查.结果应该是x86_64. 最简单的安装方法: curl https://get.docker.c

CentOS7离线安装docker问题解决

# CentOS7离线安装docker问题解决 [TOC] 因某些环境,不能联外网,所以使用docker yum源方法行不通,于是打算离线安装. 按此博客的方法http://www.cnblogs.com/aguncn/p/6863710.html,下载相应rpm安装. `rpm -ivh *.rpm --nodeps --force` 安装后,启动,报库文件缺少错误,下面是整个问题和解决过程: ``` [[email protected] ~]# /usr/bin/dockerd /usr/b

Ubuntu18.04 离线安装 docker

Ubuntu18.04 离线安装 dockerhttps://blog.csdn.net/u012814856/article/details/804231851. 将下载下来的文件夹中的 4 个文件放到 Ubuntu 任意一个文件中(一般用户目录下) 2. 在同一目录下运行这行命令离线安装 docker: dpkg -i *.deb # chattr -i /etc/groupgroupadd dockersystemctl enable docker && systemctl star

Arch系Linux中安装Docker

Arch系Linux中安装Docker 1. 下载最新版docker $ sudo pacman -Syu docker 2. 免sudo执行docker $ sudo gpasswd -a ${USER} docker 需重启docker $ sudo systemctl restart docker 3. 配置docker国内镜像 在/etc/docker目录下新建daemon.json文件,写入下面内容(网易镜像) { "registry-mirrors": ["htt

离线安装docker最新版,记得要以下三个包。

如果安装了以前版本,还要删除以下这个包. container-selinux.noarch 2:2.10-2.el7 ============== 离线安装三个rpm -rw-r--r--. 1 root root 19524568 May 15 10:04 docker-ce-17.03.1.ce-1.el7.centos.x86_64.rpm-rw-r--r--. 1 root root 29108 May 15 10:04 docker-ce-selinux-17.03.1.ce-1.el