1.2.1 实验环境准备

实验环境: CENTOS7.9 64 位

主机名: hou

主机 ip: 10.0.8.120(这个 ip 大家可以根据自己所在环境去配置,配置成静态 IP)

4g 内存、4vCPU、100G 硬盘、网络 NAT 模式

配置静态 IP

把虚拟机或者物理机配置成静态 ip 地址,这样机器重新启动后 ip 地址也不会发生改变。以 hou 主机为例,修改静态 IP:

修改/etc/sysconfig/network-scripts/ifcfg-ens33 文件,变成如下:

PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=10.0.8.120
NETMASK=255.255.255.0
GATEWAY=10.0.8.254
DNS1=10.0.8.254
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes

#修改配置文件之后需要重启网络服务才能使配置生效,重启网络服务命令如下:

systemctl restart network

注:/etc/sysconfig/network-scripts/ifcfg-ens33 文件里的配置说明:

NAME=ens33         #网卡名字,跟 DEVICE 名字保持一致即可

DEVICE=ens33         #网卡设备名,大家 ip addr 可看到自己的这个网卡设备名,每个人机器可能这个名字不一样,需要写自己的

BOOTPROTO=static         #static 表示静态 ip 地址

ONBOOT=yes         #开机自启动网络,必须是 yes

IPADDR=10.0.8.120         #ip 地址,需要跟自己电脑所在网段一致

NETMASK=255.255.255.0         #子网掩码,需要跟自己电脑所在网段一致

GATEWAY=10.0.8.254         #网关,在自己电脑打开 cmd,输入 ipconfig /all 可看到

DNS1=10.0.8.254         #DNS,在自己电脑打开 cmd,输入 ipconfig /all 可看到

关闭 selinux

[root@hou ~]# setenforce 0
[root@hou ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
注意:修改 selinux 配置文件之后,重启机器,selinux 才能永久生效
[root@hou ~]# getenforce
Disabled
#看到 Disabled 说明 selinux 成功关闭

配置主机名

[root@hou ~]# systemctl stop firewalld && systemctl disable firewalld

关闭防火墙

[root@hou ~]# systemctl stop firewalld && systemctl disable  firewalld

配置时间同步

[root@hou ~]# yum install -y ntp ntpdate
[root@hou ~]# ntpdate cn.pool.ntp.org

编写计划任务

[root@hou ~]# crontab -e
​
* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org

重启 crond 服务使配置生效:

[root@hou ~]# systemctl restart crond

选择一种安装 docker 的方式:

1. 在线安装

配置 docker-ce 国内 yum 源(阿里云)

[root@hou ~]#yum -y install yum-utils
[root@hou ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2. 配置 docker-ce 的离线 yum 源:

下面需要的 k8s-docker.tar.gz 压缩包在附件里

[root@hou ~]# mkdir /opt -p
[root@hou ~]# tar xf k8s-docker.tar.gz -C /opt/
[root@hou ~]# tee /etc/yum.repos.d/k8s-docker.repo << 'EOF'
[k8s-docker]
name=k8s-docker
baseurl=file:///opt/k8s-docker
enable=1
gpgcheck=0
EOF

开始安装 docker

安装基础软件包

[root@hou ~]# yum install -y wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack 

安装 docker 环境

[root@hou ~]# yum install docker-ce -y

启动 docker 服务

[root@hou ~]# systemctl start docker && systemctl enable docker

查看 Docker 版本信息

[root@hou ~]# docker version 

查看 docker 状态

[root@hou ~]# systemctl status docker
#显示 running,说明 docker 正常起来了

1.2.2 开启包转发功能和修改内核参数

内核参数修改:br_netfilter 模块用于将桥接流量转发至 iptables 链,br_netfilter 内核参数需要开启转发。

[root@hou ~]# cat > /etc/sysctl.d/docker.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
[root@hou ~]# sysctl -p /etc/sysctl.d/docker.conf

报错:

sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: No such file or directory
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: No such file or directory

解决方法:

[root@hou ~]# modprobe brnetfilter
[root@hou ~]# sysctl -p /etc/sysctl.d/docker.conf

重启后模块失效,下面是开机自动加载模块的脚本

在/etc/新建 rc.sysinit 文件

[root@hou ~]# cat /etc/rc.sysinit
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done

在/etc/sysconfig/modules/目录下新建文件如下

[root@hou ~]# cat /etc/sysconfig/modules/br_netfilter.modules
modprobe brnetfilter
增加权限
[root@hou ~]# chmod 755 /etc/sysconfig/modules/br_netfilter.modules

重启机器模块也会自动加载

[root@hou ~]# lsmod |grep br_netfilter
br_netfilter 22209 0
bridge 136173 1 brnetfilter
注:
Docker 安装后出现:WARNING: bridge-nf-call-iptables is disabled 的解决办法:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1将 Linux 系统作为路由或者 VPN 服务就必须要开启 IP 转发功能。当 Linux 主机有多个网卡时一个网卡收到的信息是否能够传递给其他的网卡 如果设置成 1 的话 可以进行数据包转发 可以实现VxLAN 等功能。不开启会导致 docker 部署应用无法访问。

重启 docker

[root@hou ~]# systemctl restart docker

1.2.3 docker 基本用法-操作镜镜像拉取过程

搜索镜像

[root@hou ~]# docker search centos #默认从 Docker Hub 中搜索镜像。
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                            The official build of CentOS.                   7091      [OK]
centos/systemd                    systemd enabled base container.                 107                  [OK]
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   92
centos/postgresql-96-centos7      PostgreSQL is an advanced Object-Relational …   45
centos/httpd-24-centos7           Platform for running Apache httpd 2.4 or bui…   44
centos/python-35-centos7          Platform for building and running Python 3.5…   39
centos/php-56-centos7             Platform for building and running PHP 5.6 ap…   34
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   22
centos/postgresql-10-centos7      PostgreSQL is an advanced Object-Relational …   19
kasmweb/centos-7-desktop          CentOS 7 desktop for Kasm Workspaces            18
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   16
centos/nodejs-8-centos7           Platform for building and running Node.js 8 …   14
centos/mariadb-101-centos7        MariaDB 10.1 SQL database server                13
centos/mongodb-36-centos7         MongoDB NoSQL database server                   8
centos/redis-32-centos7           Redis in-memory data structure store, used a…   6
centos/mariadb-102-centos7        MariaDB 10.2 SQL database server                6
centos/mongodb-34-centos7         MongoDB NoSQL database server                   3
centos/ruby-25-centos7            Platform for building and running Ruby 2.5 a…   3
continuumio/centos5_gcc5_base                                                     3
kasmweb/core-centos-7             CentOS 7 base image for Kasm Workspaces         2
datadog/centos-i386                                                               0
bitnami/centos-extras-base                                                        0
bitnami/centos-base-buildpack     Centos base compilation image                   0                    [OK]
ibmcom/fhe-toolkit-centos         The IBM Fully Homomorphic Encryption (FHE) T…   0
ibmcom/fhe-toolkit-centos-amd64   The IBM Fully Homomorphic Encryption (FHE) T…   0                    

下载镜像

方法 1:从 docker hub 上下载

[root@hou ~]# docker pull centos
Using default tag: latestError response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout

#报错了,因为网络的问题。 无法连接到 dockerhub 下载镜像。 如果你的网络没有问题,你可以下载。

解决:可以换种方法下载镜像

方法 2:配置镜像加速器

[root@hou ~]# tee /etc/docker/daemon.json << 'EOF'
{
"registry-mirrors":["https://rsbud4vc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com","http://qtid6917.mirror.aliyuncs.com","https://rncxm540.mirror.aliyuncs.com","https://e9yneuy4.mirror.aliyuncs.com"]
}
EOF

重启 docker 服务使配置生效

[root@hou ~]# systemctl daemon-reload && systemctl restart docker

重新下载,就可以了。

[root@hou ~]# docker pull centos
[root@hou ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    5d0da3dc9764   6 months ago   231MB

方法 3:把之前下载好的镜像通过 docker load -i 解压出来:

把 centos.tar.gz、nginx.tar.gz 镜像包上传到 hou机器的 root 目录,通过 docker load -i 解压镜像

[root@hou ~]# docker load -i /root/nginx.tar.gz

#注意:把镜像打成离线包

[root@hou ~]# docker save -o centos.tar.gz centos

查看镜像列表 列出本地所有镜像。

[root@hou ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
centos       latest    5d0da3dc9764   6 months ago    231MB
nginx        latest    f6d0b4767a6c   15 months ago   133MB

注:docker 镜像相当于对操作系统+程序+程序依赖的库打一个包

软件是依赖操作系统中的库或二进制文件。 如果我把软件所依赖的库和二进制文件打包在一起发布,不用物理机系统上的文件,也就不依赖物理机操作系统了。

删除镜像

[root@hou ~]# docker rmi -f <镜像名字>

镜像打标签

[root@hou ~]# docker tag centos:latest centos:v1

查看帮助命令

[root@hou ~]# docker --help

物料包:

链接:度娘网盘,自行取哈 
提取码:oopp

1.2 安装 docker 容器并配置镜像加速器相关推荐

  1. Docker容器(配置+镜像建立及优化+镜像加速器制作)

    一.docker简介 Docker是管理容器的引擎. Docker为应用打包.部署平台,而非单纯的虚拟化技术 1.VM vs Container 2.传统虚拟机和容器的技术对比 3.容器是如何工作的 ...

  2. Docker Note(2): 配置镜像加速器与常用指令

    文章目录 一.配置镜像加速器 二.常用指令 1.帮助启动类指令 2.镜像命令 3.容器命令 一.配置镜像加速器 每个人都要有一个自己的加速器地址,这边用是阿里云镜像加速 链接:https://www. ...

  3. docker入门(二) 配置镜像加速器

    一.为什么要下载镜像加速器 默认情况下,从dockerhub上下载 docker镜像太慢了,一般都会配置镜像加速器 ustc:中科大镜像加速器 阿里云 腾讯云 网易云 这里默认 下载腾讯云 二.具体步 ...

  4. Docker:docker简介及CentOS7安装Docker,以及配置镜像加速问题解决

    一.Docker是什么: 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不 ...

  5. Windows安装docker,和配置镜像加速地址

    https://www.runoob.com/docker/windows-docker-install.html 我的是win10家庭版10.0.14393 ,版本不够,得用toolbox安装. 在 ...

  6. Docker安装及配置镜像加速器

    一:简介 首先说明一下Docker是什么,可以做什么. Docker是一个开源的容器引擎,可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理. Docker可更快地打包.测试以及部署应 ...

  7. Docker安装及配置镜像加速器(一)

    一:简介 首先说明一下Docker是什么,可以做什么. Docker是一个开源的容器引擎,可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理. Docker可更快地打包.测试以及部署应 ...

  8. DockerKubernetes ❀ Docker的在线安装、离线安装、配置镜像加速器、配置文件参数详解

    文章目录 1.Docker容器技术简述 2.CentOS 6安装Docker 3.CentOS 7/8安装Docker 3.1 卸载旧版本Docker与其依赖关系 3.2 安装Docker服务 3.2 ...

  9. Linux安装Docker容器环境centos中安装docker-compose容器编排dockerfile文件构建镜像(史上最详细的docker)

    在Linux系统下安装docker容器环境 1.容器介绍 1.1 镜像(Image) 镜像可以用来创建Docker 容器,Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像, 用户甚至可 ...

  10. 从零开始一步一步搭建Ubuntu Server服务器、修改数据源、安装Docker、配置镜像加速器、Compose部署Gitlab服务

    场景 最终目的是使用Docker Compose部署一个Gitlab服务. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程 ...

最新文章

  1. 计算机网络的拓扑结构主要取决于它的( )
  2. c语言的有趣小程序,一个有趣的小程序
  3. Node.js 部署免费/自动续订 HTTPS
  4. Selenium UI 举例 getCssValue
  5. 机器学习 | 目录(持续更新)
  6. oracle数据库中基础知识,oracle数据库基础知识
  7. 动态球html,用html5标签让小球动起来
  8. 计算机桌面组成部分教案,三年级信息技术第五课设置个性桌面教学设计
  9. 五分钟商学院(基础---商业篇)
  10. 《数字图像处理(第三版)》 第一章 绪论 笔记
  11. ArcGIS Pro创建企业级地理数据库(Postgis)
  12. CISSP考试认证心得
  13. 数组扁平化 对象扁平化
  14. 管理是一门艺术,好坏全在细微之间
  15. Excel数据分析从入门到精通(一)软件操作技巧
  16. linux下PS1、PS2、PS3、PS4最全详解
  17. 神经网络四:Softmax以及与Sigmoid的关系
  18. jvm G1 深度分析
  19. 计算机排名次怎么操作,Excel表格怎么排名次?
  20. html img 圆头像_纯CSS3炫酷圆形头像图片过滤特效

热门文章

  1. conda 安装本地包_export包本地安装以及R包被CRAN移除后如何继续安装
  2. setpythonhome_python的set,和字典的详细使用方法,以及部分习题
  3. ip地址在c语言中长度是多少_c语言中(++i)+(++i)+(++i)究竟等于多少?
  4. arg是什么函数_CTF必备技能丨Linux Pwn入门教程——针对函数重定位流程的相关测试(上)...
  5. openpyxl安装_Openpyxl玩转Excel(一)——新建、读取、复制
  6. spring中bean的自动装配(详细)
  7. Properties文件操作
  8. RDD与DataFrame
  9. AspnetCore 缓存篇
  10. [JavaScript语法学习]重新认识JavaScript