首页 > 其他分享 >Docker安装

Docker安装

时间:2024-11-06 15:10:07浏览次数:3  
标签:pause -- 安装 ce etc Docker com docker

1. 加载源和bridge

yum install -y epel-release
yum install -y bridge-utils

bridge-utils包中的brctl命令用于在Linux系统中管理以太网桥,包括创建、维护和检查网桥配置。网桥是一种在数据链路层工作的设备,能够将多个局域网(LAN)连接起来,并根据MAC地址转发帧,起到隔离碰撞和隔离网络段的作用‌

2. modprobe br_netfilter 经过网桥的流量,必须被防火墙处理

执行如下命令:
modprobe br_netfilter
echo 'br_netfilter' >> /etc/modules-load.d/bridge.conf
echo 'net.bridge.bridge-nf-call-iptables=1' >> /etc/sysctl.conf
echo 'net.bridge.bridge-nf-call-ip6tables=1' >> /etc/sysctl.conf
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p

3. docker-ce yum 源

sudo dnf config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
cd /etc/yum.repos.d
cat docker-ce.repo 看到地址是官方的,切换为国内
sed -e 's|download.docker.com|mirrors.ustc.edu.cn/docker-ce|g' docker-ce.repo -i.bak

4. 安装docker-ce

yum install docker-ce -y

5. 配置deamo

cat > /etc/docker/daemon.json <<EOF
{
"default-ipc-mode": "shareable", #指定ipc模式共享,默认是关闭的
"data-root": "/data/docker", #当前docker的根目录,默认是/var/lib/docker
"exec-opts": ["native.cgroupdriver=systemd"], #指定启动的额外参数,官方建议
"log-drivers": "json-file", #当前日志驱动为json-file
"log-opts": {"max-size": "100m","max-file":"100"}, #单文件大小,以及文件数
"insecure-registries": ["harbor.xinxainghf.com"] #当前信任的仓库地址
"registry-mirrors": ["https://kfp63jaj.mirror.aliyuncs.com"] #官方镜像地址
}
EOF

6. 创建目录

mkdir -p /etc/systemd/system/docker.service.d

7. 重新启动服务

systemctl daemon-reload && systemctl restart docker && systemctl enable docker

8. 检查json文件是否错误

jq '.' your-docker-file.json 将 your-docker-file.json 替换为你的 Docker JSON 文件名。如果文件语法正确,你会看到文件内容的输出。如果文件有语法错误,jq 会报告错误。
if jq '.' your-docker-file.json >/dev/null 2>&1; then echo "JSON syntax is correct." else echo "JSON syntax is incorrect." fi 执行如下,查看详细报错:

9. 如果是key-value 错误,执行等于右边的命令执行

ExecStart=/usr/bin/dockerd

10. 基于Docker模拟



说明:pause共享网络,pid,ipc,

11.拉取镜像

如果你的k8s使用的事docker客户端

docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2
docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2

如果使用containerd自带客户端

crictl pull registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2
ctr -n k8s.io i tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
如果要删除所有未使用的镜像(即没有容器引用的镜像),可以使用:
docker image prune -a
这里是删除特定Docker镜像的命令示例:
docker rmi my-image
启动命令,注意版本号
docker run --name pause -p 8080:80 -d k8s.gcr.io/pause:3.2

说明:

在 Linux 中,IPC(Inter-Process Communication)命名空间用于隔离进程间通信的资源,包括共享内存、信号量和消息队列。IPC 命名空间是 Linux 命名空间的一种类型,它允许在同一主机上创建多个隔离的 IPC 实例,每个实例都有自己的 IPC 资源。
‌Pause容器中的PID(Process ID)是指容器进程的标识符。‌

在Kubernetes中,每个Pod都会运行一个Pause容器,其他业务容器则从Pause容器中fork出来。Pause容器作为Pod的初始化容器,负责初始化命名空间并管理PID,确保容器间共享资源。Pause容器是Pod的PID 1进程,负责回收僵尸进程,特别是在PID命名空间共享下‌

12. 执行如下命令前,需要当前目录有nginx文件

cat <<EOF>>nginx.conf error_log stderr; events { worker_connections 1024;} http { access_log /dev/stdout cobined; server { listen 80 default_server; server_name example.com www.example.com; location / { proxy_pass http://127.0.0.1:2368; } } }

执行命令

docker run --name nginx -vpwd/nginx.conf:/etc/nginx/nginx.conf --net=container:pause --ipc=container:pause --pid=container:pause -d nginx

拉取失败,可以更换daemon.json

{ "registry-mirrors": ["https://registry.docker-cn.com","https://pee6w651.mirror.aliyuncs.com"] }

执行命令

docker run -d --name ghost --net=container:pause --ipc=container:pause --pid=container:pause ghost

查看镜像

13. 访问页面 192.168.66.11:8080

14. 为什么使用pause

14-1. pause更稳定
14-2. pause可以回收僵死进程
Pod 是一种概念,是一个逻辑,符合这种pause特性,都叫做Pod

标签:pause,--,安装,ce,etc,Docker,com,docker
From: https://www.cnblogs.com/qq2857519024/p/18529537

相关文章

  • 【docker】拉取镜像环境报错解决#ERROR: Get https://registry-1.docker.io/v2/
    系统环境是ubuntu24.04创建daemon.json文件,设置国内加速地址。之前尝试使用了阿里,网易,百度的都不行。最后网上随便找了一粘进去,{"registry-mirrors":["https://docker.registry.cyou","https://docker-cf.registry.cyou","https://dockercf.jsdelivr.fyi","https://do......
  • Centos安装KingBase
    文章目录1远程下载KingBase的授权文件、iso包2添加用户,创建目录3解压KingBase的授权文件,挂载iso包4授权目录5控制台安装6注册服务7修改配置文件8重启服务附录-bash:wget:未找到命令查看Linux系统的架构参考文档1远程下载KingBase的授权文件、iso包[root......
  • 关于docker无法访问仓库的镜像代理问题
    解决的办法有以下及几种1.修改镜像源,改成国内的镜像地址注意:dockerpull时修改系统的代理不会让dockerpull走系统代理,dockerpull的代理被systemd接管,所以需要设置systemd...,dockerbuild/run的代理参考方法2#创建以下文件vim/etc/docker/daemonjson编辑模式输入......
  • Docker与k8s的联系
    本篇为帮助为帮助理解Docker与k8s大体的作用以及他们的联系和区别,没有对其进行深入刨析。产生的意义首先对于开发者来讲Docker与k8s都是为了去运行你写的代码的工具或者程序。在使用他们之前我们都需要先在本机把代码写好然后传到Linux服务器上部署运行。这样的方式也是没问题......
  • [记录]安装 Python 中SPAM库失败
    报错信息:×pythonsetup.pyegg_infodidnotrunsuccessfully.│exitcode:1╰─>[41linesofoutput]runningegg_infocreating/private/var/folders/l9/f9rjm65s07bdf55y5xyk9f2c0000gn/T/pip-pip-egg-info-o3ic4gdp/progressbar.egg-infowriting/private/var/fo......
  • Docker搭建kafka集群
    Docker搭建kafka集群kafka中的基本概念broker:消息中间件处理节点,一个broker就是一个kafka节点,一个或者多个broker就组成了一个kafka集群topic:kafka根据topic对消息进行归类,发布到kafka集群的每个消息,都要指定一个topicproducer:消息生产者,向broker发送消息的客户端consumer:消......
  • Docker 镜像缩小
    背景手动构建的Docker镜像如果体积过大,可以利用slim工具来优化和减小其体积。slim不仅能够有效地缩减镜像大小,还有以下额外好处:减少攻击面:通过精简镜像,移除了不必要的文件和依赖,从而减少了潜在的安全漏洞和攻击面。降低安全风险:较小的镜像意味着更少的软件组件,这有助于......
  • PVE 安装 飞牛FnOS
    一、下载FnOS固件,并上传至PVE镜像存储区 二、创建虚拟机1、新建虚拟机,名称填“FnOS”, 2、操作系统选择不使用任何介质3、系统机型默认,BIOS选择UEFI选项,存储位置选local 4、磁盘选SATA总线,分配64G存储空间,其余选项默认 5、CPU分配单核双线程即可......
  • Linux离线安装gcc4.8
    Linux离线安装gcc4.8https://pan.baidu.com/s/1J-wVsAoTmfn_iiOnYSrmZApwd:beeelinux离线安装gcc4.8.5(简单易懂,已成功安装)联网的情况下直接使用命令yum-yinstallgcc安装。不能联网就需要离线安装了。步骤如下:获取离线安装包:可以使用我已经下载好的包,链接:https://p......
  • Docker:开源容器化平台,解决开发运维问题的神器
    云计算de小白Docker是一个开源的容器化平台,可以将应用程序及其依赖的环境打包成轻量级、可移植的容器。Docker为什么这么受欢迎呢?原因很简单:Docker可以解决不同环境一致运行的问题,而且占用资源少,速度快。所以好的东西应该被更多人喜欢,因为Docker确实解决了我们日常的开发和......