Centos7 离线安装docker

环境检查

##通过命令cat /etc/redhat-release可以查看版本信息
cat /etc/redhat-release

确认服务环境满足要求之后,我们开始docker安装

资源下载

官方资源下载路径 下载资源包

在这里我选在下载的版本是:docker-20.10.9.tgz (没有特别要求,默认选了最新版的毛病)

资源包下载后上传到 centos服务器。

开始安装

1、通过命令tar -zxvf ./docker-20.10.9.tgz解压上传好的安装包
2、通过命令cp docker/* /usr/bin/将解压得到的文件复制到 /usr/bin目录下
3、在 /etc/systemd/system 目录下创建一个docker.service文件,用于注册docker服务和开机启动

使用命令 vi /etc/systemd/system/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 --insecure-registry=127.0.0.1
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


4、给service文件设置权限 chmod 777 /etc/systemd/system/docker.service
5、使用命令 systemctl daemon-reload 重新加载配置
6、设置docker为开机启动 systemctl enable docker.service
7、启动 docker 命令 systemctl start docker
8、查看容器状态 systemctl status docker

到这里 我们的docker 离线安装已经完工。
可以使用docker -v 命令查看安装的版本是否对得上。

docker导入与导出

1、导出镜像

由于 docker 是以集中的方式管理镜像的,所以在迁移之前,要先从 Docker 中取出镜像。

使用流的方式导出镜像
使用 docker save 命令导出镜像:

sudo docker save mnginx:m1.17.6  > /tmp/mnginx-m1.17.6.tar

在默认定义下,docker save 命令会将镜像内容放入输出流中,这就需要我们使用管道(>)进行接收,默认会导出到当前文件夹。

使用指定文件的方式导出镜像

通过 -o 选项指定输出文件:

sudo docker save -o /tmp/mnginx-m1.17.6.tar mnginx:m1.17.6

此外,如果使用镜像id导出镜像,在导入镜像的时候会导致镜像没有名字和标签,此时需要使用如下命令给镜像加上名字和版本号

sudo docker tag 718e7f550c04 m2nginx:m1.17.6

2、导入镜像

可以使用 docker load 命令导入镜像:

使用流的方式导入镜像
docker load 命令是从输入流中读取镜像的数据,需要使用管道(<)来传输内容:

sudo docker load < /tmp/mnginx-m1.17.6.tar

使用指定文件的方式导入镜像
使用 -i 选项指定输入文件:

sudo docker load -i /tmp/mnginx-m1.17.6.ta

3、镜像批量导入导出

docker save docker load 命令还可以镜像批量操作,只要在 docker save 中传入多个镜像名作为参数,它就能够将这些镜像都打成一个包,便于一次性迁移多个镜像。

sudo docker save -o /tmp/my-images.tar redis:5.0.7 nginx:1.17.6 elasticsearch:7.1.0

装有多个镜像的包可以直接被 docker load 识别和读取,将这个包导入后,所有其中装载的镜像都会被导入到 docker 之中。

4、导出容器

可以使用 docker export 命令直接导出容器,可以把这个命令的作用理解为 docker commit docker save 的过程结合。

sudo docker export -o /tmp/nginx.tar nginx

5、导入容器

可以使用 docker import 导入容器,需要注意的是,使用 docker import 并非直接将容器导入,而是将容器运行时的内容以镜像的形式导入,所以导入的结果其实是一个镜像,而不是容器。

docker import 的参数里,可以给这个镜像命名:

# 删除已有的镜像
docker rmi mnginx:1.17.6
sudo docker import /tmp/mnginx-m1.17.6.tar mnginx:1.17.6

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HelloWorld高级工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值