Linux(Ubuntu、Centos)環(huán)境安裝部署Docker及Docker-compose

Centos7安裝Docker環(huán)境

# 安裝依賴
yum install -y yum-utils device-mapper-persistent-data lvm2
# 設(shè)置yum源(選擇其中一個)
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo(中央倉庫)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里倉庫)
# 查看yum 源上docker版本
yum list docker-ce --showduplicates | sort -r
# 安裝需要的版本
yum install docker-ce-18.03.1.ce
啟動服務(wù)
systemctl start docker
systemctl enable  docker

Ubuntu 16.04安裝docker

#由于apt官方庫里的docker版本可能比較舊,所以先卸載可能存在的舊版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
 #更新apt包索引:
 sudo apt-get update
 #安裝以下包以使apt可以通過HTTPS使用存儲庫(repository):
 sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
#添加Docker官方的GPG密鑰:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
#使用下面的命令來設(shè)置stable存儲庫:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
 #再更新一下apt包索引:
 sudo apt-get update
  #安裝最新版本的Docker CE:
 sudo apt-get install -y docker-ce
 #查看docker服務(wù)是否啟動:
 sudo systemctl status docker
#若未啟動,則啟動docker服務(wù):
 sudo systemctl start docker

Docker 腳本安裝

#!/bin/bash
docker_software="docker-19.03.9"
docker_download_link="https://download.docker.com/linux/static/stable/x86_64/"
docker_service="/usr/lib/systemd/system/docker.service"
registry_mirrors="https://7hsct51i.mirror.aliyuncs.com"
docker_dir_base="/data/docker"
docker_dir_bin="${docker_dir_base}/bin"
docker_dir_conf="${docker_dir_base}/conf"
docker_dir_data="${docker_dir_base}/data"
 
# 如下自動執(zhí)行
mkdir -p ${docker_dir_bin}
mkdir -p ${docker_dir_conf}
mkdir -p ${docker_dir_data}
# 安裝wget
rpm -q wget > /dev/null 2>&1
if [ "$?" -ge 1 ];then
    echo "install wget,Please wait..."
    yum -y install wget > /dev/null 2>&1
    rpm -q wget > /dev/null 2>&1
    [ $? -ge 1 ] && echo "wget installation failure,exit" && exit
     echo "安裝wget 成功"
fi
# 下載軟件包并解壓
if [ ! -f ${docker_software}.tgz ];then
    echo "正在下載安裝包:${docker_software}.tgz"
    wget ${docker_download_link}${docker_software}.tgz
    [ ! -f ${docker_software}.tgz ] && echo "${docker_software}.tgz download failure,exit" && exit
else
    echo "安裝包已存在:${docker_software}.tgz"
fi
mkdir -p ${docker_dir_bin}
tar zxvf ${docker_software}.tgz -C ${docker_dir_base} > /dev/null 2>&1
if [ "$?" != 0 ];then
    echo "${docker_software}.tgz 解壓失敗,退出程序" && exit
fi
mv -f ${docker_dir_base}/docker/* ${docker_dir_bin} > /dev/null 2>&1
find ${docker_dir_bin} -type f | xargs -i ln -sfn {} /usr/local/bin/
echo "${docker_software}.tgz下載解壓完成"
# Sytemctl 管理
cat > ${docker_service} << EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target
Wants=network-online.target
 
[Service]
Type=notify
ExecStart=${docker_dir_bin}/dockerd \
--config-file ${docker_dir_conf}/daemon.json \
--data-root ${docker_dir_data} \
-H tcp://0.0.0.0:8088 -H unix:///var/run/docker.sock
ExecReload=/bin/kill -s HUP \$MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
 
[Install]
WantedBy=multi-user.target
EOF
echo "Sytemctl 管理配置完成:${docker_service}"
# 鏡像加速
mkdir -p ${docker_dir_conf}
cat > ${docker_dir_conf}/daemon.json << EOF
{
  "registry-mirrors": ["${registry_mirrors}"]
}
EOF
echo "鏡像加速配置完成:${docker_dir_conf}/daemon.json"
# 啟動docker
systemctl daemon-reload
systemctl restart docker.service
# 開機啟動
echo "配置開機啟動"
systemctl enable docker
echo "測試docker,運行容器:hello-world"
docker run hello-world
clear
cat << EOF
${docker_software} 版本,成功安裝
相關(guān)信息:
base docker安裝目錄:${docker_dir_base}
bin  執(zhí)行文件目錄:${docker_dir_bin}
conf 配置文件目錄:${docker_dir_conf}
data 數(shù)據(jù)存儲目錄:${docker_dir_data}
EOF

Docker-Compose 二進制腳本安裝

#!/bin/bash
docker_compose='docker-compose'
# 下載軟件包并解壓
if [ ! -f ${docker_compose}* ];then
    echo "正在下載安裝包:${docker_compose}"
    curl -L https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64 -o ./${docker_compose}
    [ ! -f ${docker_compose}* ] && echo "${docker_compose} download failure,exit" && exit
else
    echo "安裝包已存在:${docker_compose}"
fi
chmod 777 ${docker_compose}
mv -f ${docker_compose} /usr/local/bin
${docker_compose}
if [ "$?" -eq 0 ];then
    clear && echo "安裝${docker_compose}成功"
fi
docker-compose
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容