奥丁9
奥丁9
后端
数据库
redis
mysql
mongoDB
达梦
php
laravel
laravel-admin
dcat
表单
表格
java
spring
python
go
c
c++
前端
vue
nodejs
sass/less
html/css
前端框架
javascript
微信生态
公众号
小程序
uniapp
typescript
其他
AI
数据结构
安全
linux
seo
git
健身
算法
正则表达式
docker
待分类
其他
/
docker
docker-compose导出镜像并压缩
3个月前
aoding9
13
docker
linux
参考 https://www.zhihu.com/question/594698478/answers/updated Docker安装 离线包下载 使用华为云镜像下载docker安装包 下载地址 https://mirrors.huaweicloud.com/docker-ce/linux/static/stable/x86_64/docker-26.1.4.tgz 如选用其他版本,可在此处查看下载 https://mirrors.huaweicloud.com/docker-ce/linux/static/stable/x86_64/ 上传离线安装包至服务器 使用工具将文件传输至服务器后 切换至root权限 sudo -i 解压 tar -zxvf docker-26.1.4.tgz 授权 chmod -R 777 docker 复制 将docker复制到 /usr/bin/ cp docker/* /usr/bin/ 查看版本号 docker -v 如正常显示 docker设置自启动 手动创建docker.service文件 1.创建docker.service文件(将docker注册为service)。 在/etc/systemd/system/目录下创建docker.service文件。命令如下: sudo vim /etc/systemd/system/docker.service 2.编辑 docker.service文件。 将下列配置命令加到docker.service中并保存。命令如下: ``` [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service Wants=network-online.target [Service] Type=notify ExecStart=/usr/bin/dockerd --selinux-enabled=false ExecReload=/bin/kill -s HUP $MAINPID LimitNOFILE=infinity LimitNPROC=infinity LimitCORE=infinity TimeoutStartSec=0 Delegate=yes KillMode=process Restart=on-failure StartLimitBurst=3 StartLimitInterval=60s [Install] WantedBy=multi-user.target ``` 保存并退出:按下Esc键,输入:wq,保存并退出。 3.添加文件权限并启动docker sudo chmod +x /etc/systemd/system/docker.service 4.重载unit配置文件 每次有修改docker.service文件时,都要重新加载systemd配置。 sudo systemctl daemon-reload 5.设置开机自启Docker服务 sudo systemctl enable docker.service 7.启动Docker sudo systemctl start docker docker-compose安装 下载离线包,下载地址:https://github.com/docker/compose/releases 网址画面如下,找到tags模块,然后点击进入2.27.1(Release v2.27.1 · docker/compose (github.com) ), 下拉 Assets 清单,点选 docker-compose-Linux-x86_64 下载 文件名:docker-compose-Linux-x86_64 将下载好的离线包拖拽到服务器上 将 docker-compose 移至 /usr/local/bin 目录下 sudo mv docker-compose-Linux-x86_64 /usr/local/bin 切换当前目录至 /usr/local/bin cd /usr/local/bin 将 docker-compose-Linux-x86_64 重新命名为 docker-compose sudo mv docker-compose-Linux-x86_64 docker-compose 设定 docker-compose 的执行权限 sudo chmod +x docker-compose 查询 docker-compose 版本以确认是否成功安装 docker-compose -v 扩展:修改docker镜像存储位置 一般来说,离线安装的docker会存在/etc/docker文件夹不存在情况, 先将文件夹创建好 mkdir /etc/docker 将docker拷贝至指定位置并指定配置 我将/data/docker设置为存储位置 cp -r /var/lib/docker /data/docker 新建/etc/docker/daemon.json(导入镜像的主机不用,这个是制作镜像时用的) ```json cat /etc/docker/daemon.json { "registry-mirrors" : [ "https://9ohlrjqi.mirror.aliyuncs.com", "https://docker.m.daocloud.io", "https://docker.unsee.tech", "https://docker.1panel.live", "http://mirrors.ustc.edu.cn", "https://docker.chenby.cn", "http://mirror.azure.cn", "https://dockerpull.org", "https://dockerhub.icu", "https://hub.rat.dev" ], "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "10" }, "data-root": "/data/docker", "insecure-registry":"192.168.132.131" } insecure-registry这里改成主机ip,下载镜像时忽略ssl证书验证 ``` 执行 systemctl restart docker 输入docker info 可以看到docker 目录已经更改 所有docker-compose镜像一起打包: `docker-compose images| awk 'FNR > 1 {print $2":"$3}'| sort -u|xargs docker save -o images.tar` 导出单独镜像:docker save -o <output-file-name>.tar <repository>:<tag> https://www.cnblogs.com/PrepAndPonder/p/18503667 ``` docker save -o redis.tar redis docker save -o mysql.tar mysql docker save -o nginx.tar nginx docker save -o php8.tar docker-laravel-app:latest ``` 恢复镜像:`docker load -i images.tar` 启动:进入项目目录,执行docker-compose up -d 如果报错:strconv.Atoi: parsing "": invalid syntax 解决:docker-compose down --remove-orphans 说明:由于某些原因,docker-compose创建了一些未知的容器和服务。此命令删除那些未知的有问题的容器。 https://www.saoniuhuo.com/question/detail-2240102.html
本作品采用
《CC 协议》
,转载必须注明作者和本文链接