一、Linux下离线安装Docker

基础环境

1、操作系统:CentOS 7

2Docker版本:docker-19.03.9.tgz 官方下载地址(打不开可能需要科学-上网)

3、官方参考文档:https://docs.docker.com/install/linux/docker-ce/binaries/#install-static-binaries

二、Docker安装

1、解压

  tar -zxvf docker-19.03.9.tgz

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

  cp docker/* /usr/bin/

3、将docker注册为service

  vim /etc/systemd/system/docker.service

将下列配置加到docker.service中并保存(如果没有该文件会自动创建,编辑ok保存就好)

[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

4、启动

  chmod +x /etc/systemd/system/docker.service             #添加文件权限并启动docker

  systemctl daemon-reload                                                       #重载unit配置文件

  systemctl start docker                                                             #启动Docker

  systemctl enable docker.service                                           #设置开机自启

5、验证

  systemctl status docker                                                         #查看Docker状态

  docker -v                                                                                     #查看Docker版本

以上请参考:https://www.cnblogs.com/luoSteel/p/10038954.html

三、fastDFS文件服务器安装

1、(有网机器)从有镜像的机器上获取镜像文件(及找一台联网的linux机器)

  在有网的linux上执行(执行前确认docker是否安装)拉取镜像: docker pull morunchang/fastdfs

2、(有网机器)镜像转文件的命令是: docker save morunchang/fastdfs  > /root/fastdfs.tar

3、(离线机器)复制文件到离线机器 然后导入:docker load < /root/fastdfs.tar

4、启动tracker: docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh

注意:可能会报错

原因:

“write /proc/self/attr/keycreate: permission denied” 表示文件没有写入权限,被拒绝访问了

selinux是linux为了系统安全性做的控制,会控制用户可以访问、读取、修改哪些文件,比如,前面的write /proc/self/attr/keycreate文件没有权限,就是被selinux控制了。
selinux有三种模式:enforcing 强制 permissive 宽容的 diabled 禁止的,顾名思义,权限限制,从高到低。

解决方法:

/etc/selinux下的config文件中的SELINUX属性改为disabled
步骤:

vi /etc/selinux/config

I键进入编辑模式,将SELINUX属性改为disabled,保存退出:wq,重启liunx系统即可

错误解决办法参考:https://www.cnblogs.com/liaoyanglong/p/13826869.html

5、启动tracker: docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh

  这时候可能还会报错,提示你已经启动过该容器了,你可以:

  docker rm 你的id,然后再次执行上述命令

6、启动storage (172.21.91.218 ip 自行替换为docker 所在服务器的ip )( 此镜像不支持-p 参数)

  docker run -d --name storage --net=host -e TRACKER_IP=172.21.91.218:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

可选配置

storage 内部nginx 端口修改 以22999为例

1.进入容器内部: docker exec -it storage /bin/bash

2.修改nginx配置文件: vim /etc/nginx/conf/nginx.conf

修改 http.server.listen 8080 为 22999

sed -i 's/8080/22999/g' /etc/nginx/conf/nginx.conf

3.退出容器

exit

4.重启storage

docker restart storage

//浏览器访问路径 http://172.21.91.218:22999/group1/M00/00/00/rBVb2lwPNYeAZtTLAAAXxD4H4Z8674.txt

相关端口开放
firewall-cmd --zone=public --add-port=22122/tcp --permanent
firewall-cmd --zone=public --add-port=23000/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

Linux下离线安装docker与fastDFS的更多相关文章

  1. Linux下离线安装Docker

    Linux下离线安装Docker 一.基础环境 1.操作系统:CentOS 7.3 2.Docker版本:18.06.1 官方下载地址(打不开可能需要***) 3.百度云Docker 18.06.1地 ...

  2. Linux下离线安装Docker最新版本

    一.基础环境1.操作系统:CentOS 7.32.Docker版本:18.06.1 官方下载地址(打不开可能需要梯子)3.百度云Docker 18.06.1地址:https://pan.baidu.c ...

  3. Linux下离线安装gdb及常用命令汇总

    以redhat6.5虚拟机作为例子,由于工作性质,大部分情况linux的软件安装,是采用离线方式的. 1.离线安装gdb 像gcc.g++或者gdb这种常用的工具软件,一般虚拟机都会安装的,如未安装, ...

  4. Linux下离线安装MySQL

    Linux下安装mysql 1 检查并卸载已安装mysql 命令:rpm -qa|grep -i mysql 命令:rpm -e --nodeps ‘上个命令后显示的本机已安装mysql依赖’ 如果存 ...

  5. Linux Centos7 离线安装docker 【官网翻译和注释】

    Centos7的Docker安装 需要一个维护版本的centos7,所以6不行. 卸载旧版本 旧版本的docker被称为 docker or docker-engine 如果存在请删除它们. sudo ...

  6. Linux下离线安装python项目的依赖包

    第一步新建一个site-packages文件夹,把python项目有需要的依赖包名称导出到site-packages下的requirements.txt中 $ pip3 freeze > req ...

  7. linux下离线安装svn服务器并配置

    一.下载相应的包 subversion-1.8.18.tar.gz   下载地址:http://subversion.apache.orgsqlite-autoconf-3190300.tar.gz ...

  8. CentOS7.6离线安装docker

    2019/10/24,docker 摘要:CentOS 7.6中离线安装docker 18.06.3以及docker-compose 1.24.1 在线安装可参照 文档 所需环境 1.CentOS 7 ...

  9. 【从零开始搭建K8S】【第一篇】CentOS7.6离线安装Docker(手动安装以及基于yum本地源安装)

    下载CentOS7.6以及最小化安装CentOS7.6版本.由于CentOS属于开源软件,在国内也有很多的mirror站点可供下载,我选择的是华为站点进行下载:http://mirrors.huawe ...

随机推荐

  1. 部署Nginx网站服务

    编译安装Nginx nginx 官方 : http://nginx.org/ yum -y install pcre-devel zlib-devel   ##安装相关依赖包 ./configure ...

  2. IMIX功能测试——网络测试仪实操

    在真实的网络环境中,用户产生的网络数据报文的长度并不是固定的,也就要求我们在评估DUT转发能力时,不能仅仅测试固定长度的报文,而是需要测试多种不同报文长度的组合. 信而泰RENIX测试仪中的iMIX报 ...

  3. 用商业智能BI做出来的报表,甩别人一条街!

    同样是做数据分析的,会商业智能BI的人做的报表都比别人好看.这里所说的好看其实是包括了两个意义,一是排版.色彩搭配等,颜值上的好看:二是把数据分析结果展现地直观易懂上的"好看".想 ...

  4. 技术管理进阶——为什么Leader的话有时候你听不懂

    原创不易,求分享.求一键三连 Hi,各位亲爱的小伙伴,小钗公号遵循日复盘->周复盘->月复盘->季度复盘->年总结策略,所以某类型文章到后期才会成体系. 今天这篇文章属于「月复 ...

  5. 【C# 线程】 延迟初始化

    1. 简介 1.延迟初始化出现于.NET 4.0,主要用于提高性能,避免浪费计算,并减少程序内存要求.也可以称为,按需加载. 2.从net 4.0开始,C#开始支持延迟初始化,通过Lazy关键字,我们 ...

  6. Delegate 委托细说

    目录 委托的申明 委托的赋值 委托实例方法的使用C#Invoke\BeginInvoke\Endinoke  系统自带的委托Action.Action<T>.Func<T>.P ...

  7. linux常用命令与实例小全

    转至:https://www.cnblogs.com/xieguohui/p/8296864.html  linux常用命令与实例小全 阅读目录(Content) 引言 一.安装和登录 (一)    ...

  8. 移动C盘的.gradle文件

    今天参照一位博主的方法,移动了C盘下的.gradle文件,解放C盘,就是设置了一下环境变量,然后就把gradle文件移过去了,运行是可以运行,但是再看其他博主的方法都需要AndroidStudio下的 ...

  9. python刷剑指offer(21-40)(一刷)

    21.输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...

  10. Go之Logrus用法入门

    Go之Logrus用法入门 Logrus是Go (golang)的结构化日志程序,完全兼容标准库的API日志程序. Logrus is a structured logger for Go (gola ...