首页 > 其他分享 >安装docker

安装docker

时间:2023-10-27 18:33:19浏览次数:39  
标签:jq base https download path docker 安装

docker_install.sh

#!/bin/bash



base_path=$(
    cd "$(dirname "$0")" || exit 1
    pwd
)

function download_jq() {
    wget "https://github.com/jqlang/jq/releases/download/${jq_tag}/jq-linux-amd64" -P $base_path
}

function install_jq() {
    cp jq-linux-amd64 /usr/local/bin/jq
    chmod +x /usr/local/bin/jq
}

function download_docker() {
    wget https://download.docker.com/linux/static/stable/x86_64/docker-${docker_version:1}.tgz -P $base_path
    wget https://raw.githubusercontent.com/docker/cli/${docker_version}/contrib/completion/bash/docker -P $base_path
    wget https://raw.githubusercontent.com/moby/moby/${docker_version}/contrib/init/systemd/docker.service -P $base_path
    wget https://raw.githubusercontent.com/moby/moby/${docker_version}/contrib/init/systemd/docker.socket -P $base_path
}

function download_compose() {
    wget https://github.com/docker/compose/releases/download/${compose_version}/docker-compose-`uname -s`-`uname -m` -P $base_path
}

function install_docker() {
    # yum install bash-completion -y
    mkdir -p /etc/docker
    mkdir -p /etc/bash_completion.d
    cp ${base_path}/docker /etc/bash_completion.d/docker
    cp ${base_path}/docker.service /usr/lib/systemd/system/docker.service
    cp ${base_path}/docker.socket /usr/lib/systemd/system/docker.socket
    read -p "输入docker数据存储目录,直接回车则为默认值/var/lib/docker: " data_root
    read -p "输入docker信任私有仓库,直接回车则默认值为127.0.0.1: " insecure_registries
    cat > /etc/docker/daemon.json <<-EOF
{
    "exec-opts":[
        "native.cgroupdriver=systemd"
    ],
    "insecure-registries":[
        "${insecure_registries:-127.0.0.1}"
    ],
    "max-concurrent-downloads":10,
    "default-ulimits":{
        "nofile":{
            "Name":"nofile",
            "Hard":65535,
            "Soft":65535
        }
    },
    "live-restore":true,
    "log-driver":"json-file",
    "log-level":"warn",
    "log-opts":{
        "max-size":"10m",
        "max-file":"5"
    },
    "data-root":"${data_root:-/var/lib/docker}"
}
EOF
    tar -zxvf ${base_path}/docker-${docker_version:1}.tgz -C /usr/bin/ --strip-components=1
    groupadd docker
    usermod -aG docker ${USER}
    systemctl daemon-reload
    systemctl enable --now docker.service
}

function install_compose() {
    DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
    mkdir -p $DOCKER_CONFIG/cli-plugins
    cp ${base_path}/docker-compose-`uname -s`-`uname -m` /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
}

function main() {
   jq_tag="$(curl https://api.github.com/repos/jqlang/jq/releases/latest | grep '  "tag_name": ' | awk -F'"' '{print $4}')"
   download_jq
   install_jq
   docker_version="$(curl --retry 5 -sSL https://api.github.com/repos/moby/moby/releases/latest | jq -r '.tag_name' || exit 1)"
   compose_version="$(curl --retry 5 -sSL https://api.github.com/repos/docker/compose/releases/latest | jq -r '.tag_name' || exit 1)"
   download_docker
   download_compose
   install_docker
   install_compose
}

main $@

标签:jq,base,https,download,path,docker,安装
From: https://www.cnblogs.com/xwjh/p/17792959.html

相关文章

  • SonarQube安装配置
    写在前头SonarQube7.9及以后的版本不再支持MySQLSonarQube7.9之前的版本要求MYSQL5.6-8.0本文安装版本:JDK11、sqlServer2017、SonarQube7.9.1(其他版本试了没成功,参考这位大佬才成功安装)SonarQube-7.9.1+SQLServer2017在Windows环境下的安装与配置-advLuo-博客园(cnbl......
  • docker 环境安装
    安装docker1.更新yum工具yuminstall-yyum-utilsdevice-mapper-persistent-datalvm22.更新镜像源#设置docker镜像源yum-config-manager\--add-repo\https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.reposed-i's/download.docker.com/mirrors......
  • docker 数据卷-学习
    容器数据卷容器数据存储路径同步在宿主机文件目录做数据持久化保存(目录挂载、映射)不进行这一步,会导致删除容器后,数据直接丢失。容器间数据卷也可以进行共享数据卷的使用,类似于Linux下对目录或文件进行mount1、宿主机目录映射容器内部目录-v宿主机目录:容器内目录(......
  • meterSphere一键安装
    以root用户登录部署目标服务器,执行以下脚本进行一键安装1.curl-sSLhttps://resource.fit2cloud.com/metersphere/metersphere/releases/latest/download/quick_start.sh|bash安装成功后,客户端通过浏览器访问以下地址,输入用户名和密码,即可开始使用MeterSphere1.地址:htt......
  • Docker部署Redis集群----第一节(docker初认识)
    1、Docker是什么?docker是开源的应用容器引擎,我们可以理解为一个轻量级的“虚拟机”,开发者可以打包自己开发的应用或程序到一个可移植的容器中去,然后发布到任何流行的linux机器上,由此可见docker为我们的开发和部署带来了极大的方便和稳定性,我们还有什么理由错误它呢?2、为什么要......
  • paddleDection安装使用
    1,安装环境首先要安装paddlepaddle:安装方式的链接,各种显卡驱动,cuda和cudnn不多说比较基础我本身是在虚拟环境里安装的,所以虚拟环境安装也不影响它调用显卡资源查看paddle是否安装成功:>>>importpaddle>>>paddle.utils.run_check()安装paddleDection:gitclonehttps://g......
  • wlan 到docker Container 通信异常
      目前遇到问题为:设备发送特定的radius探测报文到radius容器不通,在宿主机能抓到包,容器内部抓不到包目前问题已经明确,我们来看下正常情况下报文是怎样的!!//00:0c:29:cc:1c:df为宿主机eth0mac地址[ThuSep2118:10:392023]TRACE:raw:PREROUTING:rule:2IN=ens33OUT=MAC=0......
  • docker 网络和iptable的关系
    iptable中四个表的优先级顺序如下:raw:对收到的数据包在连接跟踪前进行处理。一般用不到,可以忽略一旦用户使用了raw表,raw表处理完后,将跳过nat表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了mangle:用于修改报文、给报文打标签,用得也较少。nat:主要用于做......
  • docker的疑难杂症
    本篇博客主要是解决docker使用中遇到的常见报错,为了下次能够快速解决同样的问题,专门记录一下,文章会持续更新。容器名称被占用。Errorresponsefromdaemon:Conflict.Thecontainername"/mysql"isalreadyinusebycontainer"abed9581923d9d00777818256d0de8063067d38be......
  • CentOS7安装Nginx并添加成服务【转】
    当我们使用Nginx作为Web服务器时,将其添加为系统服务可以更方便地管理它的启动和停止。下面是CentOS7将Nginx添加系统服务的方法步骤:创建nginx服务配置文件首先,创建一个nginx服务配置文件,并将以下内容复制到文件中:[Unit]Description=TheNGINXHTTPandreverseprox......