1、Docker是什么:Docker 是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何支持 docker 的机器上运行。容器是完全使用沙箱机制,相互之间不会有任何接口调用。
Docker的思想来自于集装箱,一艘大船上,可以把货物整齐摆放起来,并且各种各样的货物被装在集装箱里,集装箱和集装箱之间不会相互影响,只要这些货物在集装箱里封装好好的,那我就可以用一艘大船把他们都运走。
docker就是集装箱,云计算就好比大货轮
2、docker的优点
- 快 :运行时性能快,管理操作(启动,停止,开始,重启等),都是以秒,毫秒为单位的
- 敏捷 :像虚拟机一样敏捷,而且会更便宜,在bare metal(裸机)上部署像点个按钮一样简单
- 灵活 :将应用和系统“容器化”,不添加额外的操作系统,
- 轻量 :在一台服务器上可以部署上千台Containers 容器
- 成本 :开源,免费,低成本
docker-ce:社区版
docker-ee:商业版
3、docker缺点
所有容器共用 linux kernel 资源,资源能否实现最大限度利用,所以在安全上也会存在漏洞。
4、安装docker
主机 ip:192.168.8.12/24
4.1、前期准备工作
配置主机名:
[root@localhost ~]# hostnamectl set-hostname docker-01 && bash
关闭防火墙:
[root@docker-01 ~]# systemctl stop firewalld && systemctl disable firewalld
关闭iptables:
[root@docker-01 ~]# systemctl stop iptables && systemctl disable iptables
如果没有,安装iptables
[root@docker-01 ~]# yum install iptables-services -y #安装 iptables
清空防火墙规则
[root@docker-01 ~]# iptables -F
关闭selinux,并重启机器才能生效
[root@docker-01 ~]# setenforce 0
[root@docker-01 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@docker-01 ~]# getenforce
Disabled :重启后显示为Disabled说明已关闭
配置时间同步
[root@docker-01 ~]# yum install -y ntp ntpdate
[root@docker-01 ~]# ntpdate cn.pool.ntp.org
编写计划任务,每一小时自动同步一次时间
[root@docker-01 ~]# crontab -e
* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
重启计划任务
[root@docker-01 ~]# systemctl restart crond
4.2 安装docker准备及安装
安装基础软件包
[root@docker-01 ~]# yum install -y make cmake libxml2-devel openssl-devel curl curl-devel unzip libaio-devel ncurses-devel autoconf automake zlib-devel python-devel epel-release openssh-server socat ipvsadm conntrack nfs-utils lrzsz gcc gcc-c++
安装docker依赖包
[root@docker-01 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
安装docker-ce
配置docker-ce阿里云的yum源
[root@docker-01 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
列出docker-ce版本:yum list docker-ce --showduplicates | sort -r
安装docker-ce最新版
[root@docker-01 ~]# yum install docker-ce -y
启动docker服务
[root@docker-01 ~]# systemctl start docker && systemctl enable docker
[root@docker-01 ~]# systemctl status docker
看到running,表示docker正常运行
查看Docker 版本信息
[root@docker-01 ~]# docker version
4.3、开启包转发功能和修改内核参数
内核参数修改:br_netfilter模块用于将桥接流量转发至iptables链,br_netfilter内核参数需要开启转发。
[root@docker-01 ~]# modprobe br_netfilter
[root@docker-01 ~]# vim /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
使参数生效
[root@docker-01 ~]# sysctl -p /etc/sysctl.d/docker.conf
设置开机自启动加载模块脚本
[root@docker-01 ~]# vim /etc/rc.sysinit
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done
在/etc/sysconfig/modules下创建文件
[root@docker-01 ~]# vim /etc/sysconfig/modules/br_netfilter.modules
modprobe br_netfilter
设置权限
[root@docker-01 ~]# chmod 755 /etc/sysconfig/modules/br_netfilter.modules
重启机器模块也会自动加载
[root@docker-01 ~]# lsmod |grep br_netfilter
br_netfilter 22256 0
bridge 151336 1 br_netfilter
4.4、配置docker镜像加速器
登录阿里云镜像仓库
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
如果没有开通,可开通阿里云的镜像服务,填写自己的地址

找到镜像加速器,按如下操作
[root@docker-01 ~]# vim /etc/docker/daemon.json
{ "registry-mirrors": ["https://4d22tx2x.mirror.aliyuncs.com"] }
让配置生效
[root@docker-01 ~]# systemctl daemon-reload
[root@docker-01 ~]# systemctl restart docker
docker到现在已安装完成,下一接聊聊一些基本用法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!