docker离线安装部署 linux_docker 离线安装

docker离线安装部署 linux_docker 离线安装docker离线安装

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

参考

https://download.docker.com/linux/static/stable/x86_64/ (docker安装包下载地址)
https://juejin.cn/post/6967138136975638559
https://juejin.cn/post/7037323446635724813

背景

由于公司内部的服务器不能连通外网,并且也没有给yum源,所以需要下载docker安装包进行离线安装。

安装过程

首先去网站下载docker安装包,我这里选择和公司服务器上的docker一致的版本:docker-19.03.3.tgz,然后上传到需要安装docker的服务器。
1)首先解压压缩包,此时会在当前目录下生成一个docker目录,在docker目录下全是可执行文件。

tar -xzvf docker-19.03.3.tgz
docker/
docker/docker
docker/runc
docker/ctr
docker/dockerd
docker/docker-init
docker/docker-proxy
docker/containerd-shim-runc-v2
docker/containerd-shim
docker/containerd

2)将1)中解压得到的二进制文件全复制到/usr/bin目录下。

cd docker 
cp * /usr/bin/

3)将docker注册成系统服务
执行“vim /etc/systemd/system/docker.service”命令,然后在文件中添加以下内容,退出并保存。
下面的配置需要注意的是 : ExecStart=/usr/bin/dockerd,也就是说指明了dockerd所在位置。我第一次安装没有将1)中所有的二进制复制到/usr/bin/,

[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
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

给文件增加可执行权限

chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload 

4)设置开机自启动

systemctl enable docker.service

5) 启动docker

systemctl start docker

6)测试docker是否启动

docker ps

如果打印出如下信息,则表示正确安装,如果提示Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?,则表示docker没有安装正确。
在这里插入图片描述

过程中遇到的错误

1)在将docker注册成系统服务时,需要注意的是 : ExecStart=/usr/bin/dockerd,也就是说指明了dockerd所在位置。我第一次安装没有将1)中所有的二进制复制到/usr/bin/下,造成在执行systemctl start docker时,报错:Process: 28545 ExecStart=/usr/bin/dockerd (code=exited, status=203/EXEC)。这是因为程序没有在/usr/bin下找到dockerd可执行程序,因此报错。

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

● docker.service - Docker Application Container Engine
Loaded: loaded (/etc/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: failed (Result: start-limit) since 四 2020-11-12 11:27:15 CST; 37s ago
Docs: https://docs.docker.com
Process: 28545 ExecStart=/usr/bin/dockerd (code=exited, status=203/EXEC)
Main PID: 28545 (code=exited, status=203/EXEC)

1112 11:27:15 host-90-0-0-80 systemd[1]: Failed to start Docker Application Container Engine.
1112 11:27:15 host-90-0-0-80 systemd[1]: Unit docker.service entered failed state.
1112 11:27:15 host-90-0-0-80 systemd[1]: docker.service failed.
1112 11:27:15 host-90-0-0-80 systemd[1]: docker.service holdoff time over, scheduling restart.
1112 11:27:15 host-90-0-0-80 systemd[1]: start request repeated too quickly for docker.service
1112 11:27:15 host-90-0-0-80 systemd[1]: Failed to start Docker Application Container Engine.
1112 11:27:15 host-90-0-0-80 systemd[1]: Unit docker.service entered failed state.
1112 11:27:15 host-90-0-0-80 systemd[1]: docker.service failed.

2)关于 /etc/docker/daemon.json 的错误
刚开始遇到1)的错误时,copy了公司其他docker服务器上的 /etc/docker/daemon.json,报错: Process: 3706 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)。此时主要观察到daemon.json的 “data-root”: “/data/docker”, 然而在安装的时候,我在/data/docker 下放置了解压的二进制文件,导致相关目录无法创建,从而导致docker在读取 /etc/docker/daemon.json后发生错误。

[root@tt init.d]# service docker start
Redirecting to /bin/systemctl start docker.service
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
# 根据提示使用相关命令查看启动时错误日志
[root@tt init.d]# systemctl status docker.service
docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Mon 2018-07-02 22:20:05 EDT; 10s ago
     Docs: https://docs.docker.com
  Process: 3706 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE)
 Main PID: 3706 (code=exited, status=1/FAILURE)
Jul 02 22:20:05 localhost systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
Jul 02 22:20:05 localhost systemd[1]: Failed to start Docker Application Container Engine.
Jul 02 22:20:05 localhost systemd[1]: Unit docker.service entered failed state.
Jul 02 22:20:05 localhost systemd[1]: docker.service failed.
Jul 02 22:20:05 localhost systemd[1]: docker.service holdoff time over, scheduling restart.
Jul 02 22:20:05 localhost systemd[1]: start request repeated too quickly for docker.service
Jul 02 22:20:05 localhost systemd[1]: Failed to start Docker Application Container Engine.
Jul 02 22:20:05 localhost systemd[1]: Unit docker.service entered failed state.
Jul 02 22:20:05 localhost systemd[1]: docker.service failed.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189378.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker五种特性_k8s docker 关系

    docker五种特性_k8s docker 关系DockerDocker网络–link自定义网络网络连通Docker网络Docker是如何进行网络通讯的?查看本机的网卡和ip地址docker0类似与路由器ip地址一样(x.x.x.1)Dockerdocker run -d -P –name=tomcat03 tomcat:8.0查看容器ip地址docker exec -it a72d4ae634da ip addr1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noque

    2022年8月9日
    7
  • docker 导入导出镜像_docker拉取镜像到本地

    docker 导入导出镜像_docker拉取镜像到本地docker导入导出镜像文件:把某个docker镜像保存到本地文件,命令如下dockersave-o镜像名.tar原始镜像名(REPOSITORY项)导出$dockersave-o/root/images/jenkins_image.tarjenkins/jenkins:latest导入$dockerload</root/images/jenkins_image.tar导出镜像如果要存出镜像到本地文件,可以使用dockersave命令。例如,存出本地的ubu

    2025年9月17日
    7
  • docker 启动容器报错及解决办法

    docker启动容器报错:Errorresponsefromdaemon:ociruntimeerror:container_linux.go:247:startingcontainerprocesscaused”process_linux.go:258:applyingcgroupconfigurationforprocesscaused\”Cannot…

    2022年4月16日
    628
  • Xshell安装docker「建议收藏」

    Xshell安装docker「建议收藏」docker基本组成镜像(image):docker镜像好比一个模板,可以通过这个模板创建容器服务,例如:tomcat镜像===>run===>tomcat01容器(提供服务器)通过这个镜像可以创建多个容器(最终服务或项目在容器中运行)容器(container):docker利用容器技术,独立运行一个或一组应用,通过镜像来创建。启动、停止、删除基本命令目前就可以把这个容器理解为就是一个简易的linux系统仓库(repository):存放镜像的地方,类似maven中央仓库仓库

    2022年9月9日
    3
  • docker(6)镜像的使用

    docker(6)镜像的使用前言Docker的三大核心概念:镜像、容器、仓库。初学者对镜像和容器往往分不清楚,学过面向对象的应该知道类和实例,这跟面向对象里面的概念很相似我们可以把镜像看作类,把容器看作类实例化后的对象。|

    2022年7月28日
    8
  • 【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署

    【云原生 • Docker】mysql、tomcat、nginx、redis 环境部署Docker下MySQL、tomcat、nginx、redis应用的搭建方式,附详细步骤与软件下载地址。

    2025年7月9日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号