docker安装以及配置

Docker

搭建Docker环境

设置username

  • hostnamectl set-hostname cxy && bash

关闭防火墙

  • systemctl stop firewalld && systemctl disable firewalld

关闭iptables防火墙

  • 先安装 yum install iptables-services -y
  • 关闭 service iptables stop && systemctl disable iptables
  • 清空防火墙规则 iptables -F

关闭selinux

  • setenforce 0
  • vim /etc/selinux/config
  • SELINUX=disabled

getenforce 指令查看是为disabled 否则请重启机器

配置时间同步

  • yum install -y ntp ntpdate

  • ntpdate cn.pool.ntp.org[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jFrxyW60-1675393806971)(/Users/mac/Library/Application Support/typora-user-images/截屏2022-09-13 下午8.42.56.png)]

  • 守护进程 systemctl restart crond

下载docker以及需要的包

  • # 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 vimncurses-devel autoconf automake zlib-develpython-devel epel-release openssh-serversocatipvsadm conntrac[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zVldAqT1-1675393806975)(/Users/mac/Library/Application Support/typora-user-images/截屏2022-09-13 下午8.56.48.png)]

  • 配置docker-ce 的阿里云镜像源 yum-config-manager --add-repo https://mirrors.aliyun.com/repo/epel-7.repo[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dIc2JETk-1675393806975)(/Users/mac/Library/Application Support/typora-user-images/截屏2022-09-13 下午9.01.00.png)]

  • 下载docker依赖包

  • yum install -y yum-utils device-mapper-persistent-data lvm2

  • 下载docker

  • yum install docker-ce -y

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3
sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
# Step 4: 更新并安装Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce-20.10.6 docker-ce-cli-20-10-6 containerd.io -y
# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]


启动docker

systemctl start docker && systemctl enable docker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nw7HWN51-1675393806979)(/Users/mac/Library/Application Support/typora-user-images/截屏2022-09-13 下午10.31.22.png)]

查看状态

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O9AnkMef-1675393806981)(/Users/mac/Library/Application Support/typora-user-images/截屏2022-09-13 下午10.33.23.png)]

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

  • modprobe br_netfilter

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

重新加载

  • sysctl -p /etc/sysctl.d/docker.conf
  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9stif92N-1675393806982)(/Users/mac/Library/Application Support/typora-user-images/截屏2022-09-13 下午10.42.33.png)]

检验该模块是否成功

  • lsmod | grep br_netfilter

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BIh7VDl0-1675393806983)(/Users/mac/Library/Application Support/typora-user-images/截屏2022-09-13 下午10.45.06.png)]

  • vim /etc/rc.sysinit
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done

  • vim /etc/sysconfig/modules/br_netfilter.modules

  • modprobe br_netfilter

  • 给予权限 chmod +755 /etc/sysconfig/modules/br_netfilter.modules

配置加速器

  • vim /etc/docker/daemon.json
{"registry-mirrors": ["https://y8y6vosv.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://dockerhub.azk8s.cn","http://hub-mirror.c.163.com"]}
  • 重新加载
    • systemctl daemon-reload
    • systemctl restart docker

Docker 笔记

docker search 镜像名  搜索镜像
docker pull 镜像名 拉取镜像 默认latest
docker rmi 容器名 删除容器
docker save -o 压缩包名.tar.gz 容器名  将镜像打包成zip文件
docker load -i 压缩包名 解压一个容器
docker run -itd 容器id /bin/bash  参数i交互式 t分配一个终端 d后端运行 运行一个镜像
docker ps 获取正在进行的镜像
docker stop 停止进行中容器
docker start 启动已停止的容器
docker logs 查看日志
docker rm 删除镜像

Dockerfile

From centos       //基础镜像
MAINTAINER  LSR.  //记录作者名
Run               //在构建镜像的时候 执行的指令 可以为多条
Copy             //复制一个文件到容器里面
ADD              // 复制一个文件到容器里面 如果为压缩包 就解压
Expose         //暴露的端口
CMD            //镜像构建完执行的指令 只能有一条
ENTRYPOINT []     //镜像构建完执行的指令 只能有一条
VOLUME          //挂载数据 在docker run的时候通过-v来实现修改挂载点
Workdir        //指定工作目录
Env           //设置环境变量
User        //是用来指定后续的用户以及用户组
ONBUILD      //在构建镜像时命令不会执行 在以该镜像为基础时候才会执行
HEALTHCHECK  //健康检查
ARG      //跟env一样配置环境 只不过设置的环境配料仅对dockerfie有效 构建好的镜像不存在该此环境结构
  • 写Docker 镜像的时候centos的源用不了 需要改

    RUN rm -rf /etc/yum.repos.d/*
    COPY Centos-vault-8.5.2111.repo /etc/yum.repos.d/
    

docker实现数据卷的挂载

docker run -v 文件夹:文件夹 ➕容器名

// 实现容器卷的挂载
docker run --volumes-from +加挂载的数据卷 

yum install bridge-utils -y

  • 下载网桥工具

docker开启特权模式 --privileged

docker 的网络通信

  • none 当net为none的时候只有io地址 没有网卡
  • container 与已经存在的容器共享网络名称
  • Bridge 桥接模式 自动分网络ip
  • host 共享宿主机网络

docker cpu

  • 在启动容器的时候 --cpu-shares 512 控制cpu分配权额
  • –cpuset-cpus 0,1 这条指令是运行在cup0,1两个核

docker容器启动的怎么限制内存

  • 使用-m参数来控制允许使用内存上限 -m 128m 最大为128m

限制docker容器读写速度

  • –device-write-bps /dev/sda:2mb

当docker容器跑完就想删除的话 自动释放资源

  • –rm

猜你喜欢

转载自blog.csdn.net/qq_64421968/article/details/128863142