Docker的基础教程(一)

目录

1. Docker是什么?

2. Docker优缺点

3. 安装Docker

4. 卸载Docker的方法

5. 配置阿里云镜像加速器

1. Docker是什么?

        Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在GitHub 上进行维护。

         Docker 是一个开源的容器化平台,可以让开发者将应用程序及其依赖打包成一个独立的容器,从而实现应用程序的快速部署、可移植性和弹性伸缩。Docker 采用了轻量级的容器技术,可以在不同的环境中运行,包括开发、测试、生产等多个环境,而不需要重新配置或修改应用程序。

2. Docker优缺点

Docker 是一个开源的容器化平台,它的主要优点包括:

  1. 轻量级:Docker 容器只包含应用程序及其依赖,因此比传统虚拟机更轻量化,可以更快速地启动、停止和部署。
  2. 可移植性:Docker 容器可以在不同的环境中运行,包括开发、测试、生产等多个环境,而不需要重新配置或修改应用程序。
  3. 快速部署:Docker 容器可以在几秒钟内启动,因此可以更快速地部署应用程序,从而提高开发和部署的效率。
  4. 弹性伸缩:Docker 容器可以动态地扩展和缩小,根据需求自动调整容器的数量和资源使用情况,从而提高应用程序的可用性和性能。
  5. 简化配置:Docker 提供了一个统一的容器化平台,可以简化应用程序的配置和管理,从而减少错误和故障。
  6. 增强安全性:Docker 容器提供了一层额外的安全性,容器之间是隔离的,可以更好地保护应用程序和数据不受外部攻击的影响。

        总之,Docker 的优点包括快速部署、简化配置、可移植性、弹性伸缩、增强安全性等,这些优点可以帮助企业更快速地部署应用程序,提高开发效率和运维效率,降低成本和风险。

虽然 Docker 有很多优点,但也存在以下一些缺点:

  1. 不适用于所有应用程序:Docker 适用于大多数应用程序,但某些应用程序可能无法容器化,比如需要访问硬件资源的应用程序。
  2. 容器间隔离不完全:虽然 Docker 容器提供了一定程度的隔离,但容器之间仍然可以相互访问,因此容器之间的安全性可能无法得到充分保障。
  3. 数据管理困难:Docker 容器本身是不持久化的,因此需要使用卷或挂载主机目录来实现数据的持久化,这可能会导致数据管理上的困难。
  4. 性能损失:Docker 容器需要运行在宿主操作系统上,因此可能存在一定的性能损失,特别是在某些 I/O 密集型应用程序中。

3. 安装Docker

1、环境准备

# 系统内核
[root@docker ~] # uname -r
3.10.0-1160.el7.x86_64

# 系统版本
[root@docker ~] # cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2、关闭防火墙

# 关闭防火墙
systemctl disable --now firewalld

# 关闭selinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

3、安装一些系统软件包

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 

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

# 内核参数修改:br_netfilter模块用于将桥接流量转发至iptables链,br_netfilter内核参数需要开启转发。
modprobe br_netfilter
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

# 使参数生效
sysctl -p /etc/sysctl.d/docker.conf

5、安装docker-ce

(1)配置docker-ce yum源

# 配置docker-ce国内yum源(阿里云)
 yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 国外的docker-ce源
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

(2)安装docker依赖包

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

(3)安装docker-ce

yum install -y docker-ce docker-ce-cli containerd.io

(4)启动docker

systemctl enable --now docker

然后可以用docker version命令测试Docker是否安装成功,并查看Docker的版本信息

 (4)运行Hello World镜像测试

docker run hello-world

4. 卸载Docker的方法

# 卸载Docker-ce软件包
yum remove -y docker-ce docker-ce-cli containerd.io

# 删除Docker工作路径 /var/lib/docker为Docker的默认工作路径
rm -rf /var/lib/docker

5. 配置阿里云镜像加速器

 登录自己阿里云账号,找到产品与服务下的容器与中间件中的容器镜像服务

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://4u6ad4xd.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AdmirerShura

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值