Docker01-安装Docker

Docker安装脚本

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum makecache
yum -y install docker-ce
systemctl start docker
systemctl enable docker
cat << EOF>> /etc/docker/daemon.json
{
    "registry-mirrors": ["https://7xdlztz4.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
systemctl enable docker

使用yum安装Docker

1.安装依赖
yum install -y yum-utils device-mapper-persistent-data lvm2

2.配置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum makecache

3.安装docker
(旧版本的docker叫做docker或docker-engine)
yum -y install docker-ce
启动docker前关闭防火墙ß
systemctl start docker
systemctl enable docker
提示
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

4. 查看安装是否成功,有docker0说明环境部署完成
ifconfig

二进制安装Docker

1、下载二进制安装包
https://download.docker.com/linux/static/stable/x86_64/docker-20.10.0.tgz                      #docker官方镜像
https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/static/stable/x86_64/docker-20.10.0.tgz   #清华大学镜像
https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-20.10.0.tgz             #阿里镜像

2、解压docker二进制包
tar zvfx ./docker-20.10.0.tgz -C /usr/local/
cd /usr/local/
mv docker docker-20.10.0
ln -s docker-20.10.0 docker

3、添加环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/docker
source /etc/profile

4、添加启动服务脚本
vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target
Wants=docker-storage-setup.service

[Service]
Type=notify
NotifyAccess=main
Environment=PATH=/usr/local/docker:/usr/bin:/usr/sbin
ExecStart=/usr/local/docker/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
TimeoutStartSec=0
Restart=on-abnormal
KillMode=process

[Install]
WantedBy=multi-user.target

chmod +x /usr/lib/systemd/system/docker.service    #给脚本加可执行权限

systemctl daemon-reload                            #重新加载服务的配置文件
很多时候在挂载磁盘后不想用docker默认目录,可用 -g 修改目录到指定目录 (docker默认目录是/var/lib/docker,包括pull下来的镜像都在该目录下)
ExecStart修改为:ExecStart=/usr/bin/dockerd -g /hengha/docker

5、启动docker服务
systemctl start docker.service     #启动docker服务

6、查看docker相关信息
docker version    #显示Docker版本信息
docker info       #显示docker信息详情

配置镜像加速

cat << EOF>> /etc/docker/daemon.json
{
"registry-mirrors": ["https://7xdlztz4.mirror.aliyuncs.com"]
}
EOF

systemctl daemon-reload
systemctl restart docker

Docker容器和虚拟机有何不同

容器和虚拟机是互补的

功能上

  • 虚拟机用来进行硬件资源划分,利用硬件虚拟化技术,例如VT-x、AMD-V或者privilegelevel(权限等级)和hypervisor层来实现对资源的彻底隔离
  • 而容器则是操作系统级别的虚拟化,利用的是内核的Cgroup和Namespace特性,实现进程隔离

资源消耗上

  • 虚拟机会独占分配给自己的资源,几乎不存在资源共享,各个虚拟机实例之间近乎完全隔离,因此虚拟机更加重量级,也会消耗更多的资源。
  • Docker容器与主机共享操作系统内核,不同的容器之间可以共享部分系统资源,因此容器更加轻量级,消耗的资源也更少。
posted @   立勋  阅读(15)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示