Docker容器基础

1 介绍

Docker官网:https://docs.docker.com/
Docker的github地址:https://github.com/moby/moby
Dockerhub官网: https://registry.hub.docker.com
Docker官方registry镜像加速:https://dashboard.daocloud.io/mirror

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何支持 docker 的机器上运 行。容器是完全使用沙箱机制,相互之间不会有任何接口调用。

2 优缺点

优点
1)快
运行时的性能快,管理操作(启动,停止,开始,重启等等) 都是以秒或毫秒为单位的。
2)敏捷
像虚拟机一样敏捷,而且会更便宜,在 bare metal(裸机)上布署像点个按钮一样简单。
3)灵活
将应用和系统“容器化”,不添加额外的操作系统
4)轻量
在一台服务器上可以布署 100~1000 个 Containers 容器。
5)便宜
开源的,免费的,低成本的。
缺点
所有容器共用 linux kernel 资源,资源能否实现最大限度利用,所以在安全上也会存在漏洞。

3 版本

目前最近的两个版本
docker-ce和docker-ee

4 安装配置

主机: 192.168.2.86
Centos7.9
4Gib/4vCPU
a 配置主机名
Docker容器基础_第1张图片
b 关闭防火墙
一般两种方式可以直接关闭或者关闭iptables防火墙规则
在这里插入图片描述
安装iptables
yum install iptables-services -y
禁用iptables:
service iptables stop && systemctl disable iptables
清空防火墙规则
iptables -F
c 关闭selinux安全增强
在这里插入图片描述
修改配置后,重启机器可永久生效。
查看是否成功 getenforce 显示disabled表示关闭成功
d 配置时间同步
yum install -y ntp ntpdate
ntpdate cn.pool.ntp.org
Docker容器基础_第2张图片
#编写计划任务
crontab -e命令执行
文件中添加* */1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
重启crond服务使配置生效:
systemctl restart crond

e 安装基础软件包
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

f 安装docker-ce
#配置docker-ce国内源(阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
注:可能yum-config-manager未安装,需要自己安装
yum -y install yum-utils(此命令在这个安装包里面)

#安装docker依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2

#安装docker-ce
yum install docker-ce -y

#查看安装是否成功以及版本

g 启动docker服务
systemctl start docker && systemctl enable docker
systemctl status docker
Docker容器基础_第3张图片

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

内核参数修改:br_netfilter 模块用于将桥接流量转发至 iptables 链,br_netfilter 内核参数需要开启转发。
Docker容器基础_第4张图片
#使参数生效
在这里插入图片描述
注:可以修改为开机自动加载模块脚本
在/etc新建rc.sysinit文件
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done
在/etc/sysconfig/modules/目录下新建文件如下:
modprobe br_netfilter
增加权限:
chmod 755 /etc/sysconfig/modules/br_netfilter.modules

重启机器模块也会自动加载
lsmod | grep br_netfilter
在这里插入图片描述
注:
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 部署应用无法访问。

6 配置docker镜像加速器

登陆阿里云镜像仓库
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
如果没有开通,可开通阿里云的镜像服务
Docker容器基础_第5张图片
修改/etc/docker/daemon.json

让配置文件生效:
systemctl daemon-reload
systemctl restart docker

Docker Hub镜像加速器列表
Docker容器基础_第6张图片

7 docker的基本用法

1 镜像相关操作
#从dockerhub查找镜像
docker search centos
Docker容器基础_第7张图片
解释说明:
NAME: 镜像仓库源的名称
DESCRIPTION: 镜像的描述
OFFICIAL: 是否docker 官方发布
stars: 类似Github 里面的star,表示点赞、喜欢的意思。AUTOMATED: 自动构建。

#下载镜像
docker pull centos
Docker容器基础_第8张图片
#查看本地镜像
docker images
在这里插入图片描述
#将镜像做成离线压缩包
docker save -o centos.tar.gz centos
在这里插入图片描述
#解压离线镜像包
docker load -i cnetos.tar.gz
在这里插入图片描述
#删除镜像
docker rmi -f centos:latest
在这里插入图片描述

你可能感兴趣的:(Docker,docker,容器,运维)