1.使用laravel docker 的镜像 和容器编排
2.二进制方式安装docker
setupDocker() {
echo
echo "***** 开始安装 ${production}${version} *****"
echo
echo "检查 Docker 是否已安装..."
[[ `sudo docker -v` ]]
if [ $? -ne 0 ]; then
echo "检测到 Docker 未安装 开始安装!"
dockerFile=./bin/docker-`uname -m`.tgz
if [[ ! -f ${dockerFile} ]]; then
echo "无对应系统docker安装包请手动安装"
exit 1
fi
tar -vxf ${dockerFile}
cp -f ./docker/* /usr/bin
mkdir -p /usr/lib/systemd/system
cp -f ./bin/docker.service /usr/lib/systemd/system/docker.service
sudo chmod 755 /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl enable --now docker
# systemctl unmask docker.service
# systemctl unmask docker.socket
systemctl start docker.service
else
localDocker=`docker -v | awk '{print $3}'|tr -d ','`
info "已安装 Docker ${localDocker}"
echo
if version_lt ${localDocker} ${dockerVersion}; then
echo "请安装 ${dockerVersion} 及以上版本的 Docker"
echo
exit 1
fi
fi
echo "检查 docker-compose 是否已安装..."
localDockerCompose=''
[[ `sudo docker-compose version` ]]
if [ $? -ne 0 ]; then
composerFile=./bin/docker-compose-`uname -s`-`uname -m`
if [[ ! -f ${composerFile} ]]; then
echo "无对应系统docker-compose安装包请手动安装"
exit 1
fi
cp -f ${composerFile} /usr/bin/docker-compose
else
localDockerCompose=`sudo docker-compose version | awk '{print $4}'|tr -d 'v'`
fi
info "已安装 docker-compose v${localDockerCompose}"
echo
if version_lt ${localDockerCompose} ${dockerComposeVersion}; then
warning "请安装 v${dockerComposeVersion} 及以上版本的 docker-compose"
echo
exit 1
fi
sudo chmod 755 /usr/bin/*
}
删除镜像
删除docker
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
sudo apt-get install docker-ce docker-ce-cli containerd.io``
3,打包编译好的镜像 批量压缩镜像 使用压缩好的镜像包可以提高安装的效率
docker image save -o phishingDis20.tar $(docker images | grep ‘^reyphishdis*’ | tail -20 | awk ‘{print $1}’ | awk -F/ ‘{print $NF}’)
4, sudo docker load -i ${dockerImage} 载入镜像
5,docker 内操作宿主机镜像 加挂载文件就好了,fpm的镜像要操作宿主机 ,要给fpm 运行用户赋予执行权限
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /etc/localtime:/etc/localtime:ro