docker离线安装并导入镜像过程

 更新时间:2023年12月15日 08:39:26   作者:古甲哈醒  
这篇文章主要介绍了docker离线安装并导入镜像过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

实际项目开发过程中,客户环境大多是全内网环境,无法连接互联网。这样docker就不能yum在线联网安装,所需要的镜像也不能在线pull下载。这时就需要进行离线安装docker及镜像。

1、下载docker安装文件

离线安装docker,需要下载docker的安装文件。

地址:https://download.docker.com/linux/static/stable/x86_64/

我下的是最新的版本[docker-19.03.6.tgz],文件不大,只有60M左右。

2、离线docker安装

将安装包文件上传到服务器目录并解压。

[root@iZbp13sno1lc2yxlhjc4b3Z ~]#tar -xvf docker-19.03.6.tar

将解压出来的docker文件内容移动到 /usr/bin/ 目录下

[root@iZbp13sno1lc2yxlhjc4b3Z ~]#cp docker/* /usr/bin/

将docker注册为service,在/etc/systemd/system目录下创建docker.service文件,并配置如下内容保存。

[root@iZbp13sno1lc2yxlhjc4b3Z ~]#vim /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
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target

添加文件权限并启动docker,执行如下命令:

chmod +x /etc/systemd/system/docker.service                      #添加文件权限
systemctl daemon-reload                                                       #重载unit配置文件
systemctl start docker                                                            #启动Docker
systemctl enable docker.service                                            #设置开机自启

验证docker安装是否成功:

systemctl status docker                                                         #查看Docker状态
docker -v                                                                                #查看Docker版本

Docker离线安装好后,下面我们把镜像导入到Docker。

3、离线镜像文件导入

内网环境没法pull镜像,但是docker本身可以将已有的镜像导出成tar文件,并且可以再次导入到docker,利用这一点,可以实现离线镜像文件的下载。
 

找一台可以联网的docker机器,并pull下载需要的镜像文件

然后使用如下命令将镜像文件导出:

docker save java:8 -o java.tar  #将java 8的镜像导出成tar文件

将tar文件上传到内网docker服务器,使用如下命令导入镜像文件:

docker load -i java.tar

查看导入的镜像文件:

[root@iZbp13sno1lc2yxlhjc4b3Z ~]# docker images
REPOSITORY                                             TAG                 IMAGE ID            CREATED             SIZE
java                                                   8                   d23bdf5b1b1b        3 years ago         643MB

OK,通过上述方式,实现了内网环境下docker的安装和镜像文件下载。后续我们就可以愉快的使用docker来部署管理我们的应用了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker-swarm之使用Docker secret管理敏感数据

    docker-swarm之使用Docker secret管理敏感数据

    就Docker Swarm集群服务而言,secret 是块状数据,例如密码、SSH私钥、SSL证书或其他不应通过网络传输或未加密存储在Dockerfile或应用程序源代码中的数据,我们可以使用Docker secret 集中管理这些数据,所以接下来就带大家了解一下如何使用Docker secret 管理敏感数据
    2023-08-08
  • 运行中的docker容器端口映射如何修改详解

    运行中的docker容器端口映射如何修改详解

    这篇文章主要给大家介绍了关于运行中的docker容器端口映射如何修改的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 迁移变更Docker默认数据存储目录的步骤详解

    迁移变更Docker默认数据存储目录的步骤详解

    Docker安装的默认数据目录为/var/lib/docker,但是如果/目录挂载的磁盘空间不够,就需要迁移docker数据到其他目录,接下来本就给大家介绍迁移变更Docker默认数据存储目录的操作步骤,需要的朋友可以参考下
    2023-12-12
  • docker如何部署etcd集群

    docker如何部署etcd集群

    这篇文章主要介绍了docker如何部署etcd集群问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 详解MAC OSX Docker开发环境搭建

    详解MAC OSX Docker开发环境搭建

    本篇文章主要介绍了详解MAC OSX Docker开发环境搭建,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 完美解决Windows10下无法对docker容器进行端口访问的操作

    完美解决Windows10下无法对docker容器进行端口访问的操作

    这篇文章主要介绍了完美解决Windows10下无法对docker容器进行端口访问的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • win7环境下Docker快速构建及阿里云容器加速配置详解

    win7环境下Docker快速构建及阿里云容器加速配置详解

    这篇文章主要介绍了win7环境下Docker快速构建及阿里云容器加速配置详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Docker 解决获取容器获取的时间不是本地时间的问题

    Docker 解决获取容器获取的时间不是本地时间的问题

    这篇文章主要介绍了Docker 解决获取容器获取的时间不是本地时间的问题的相关资料,需要的朋友可以参考下
    2016-11-11
  • Docker部署安装Redash中文版的方法详解

    Docker部署安装Redash中文版的方法详解

    这篇文章主要介绍了Docker部署安装Redash中文版的方法详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • Docker Volumn容器间共享数据的实现

    Docker Volumn容器间共享数据的实现

    这篇文章主要介绍了Docker Volumn容器间共享数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01

最新评论