Docker | 入门:安装与配置

Docker | 入门:安装与配置

Docker 和传统虚拟机区别

对于传统虚拟机:

虚拟出一套硬件,运行一个完整的操作系统,并在这个操作系统上安装和运行软件。

对于 Docker: 将一个个容器隔离开。

容器内的应用直接运行在宿主机的内容,容器没有自己的内核。每个容器内都有一个属于自己的文件系统,互不影响。

Docker 的基本组成

镜像(Image):类似于一个模板,通过它来创建容器服务。可以创建多个容器,并且最终服务运行或者项目运行就是在容器中。

容器(container):容器通过镜像来创建。Docker 通过容器技术,独立运行一个或一组应用。

仓库(repository):存放镜像的地方。

Docker 安装

Linux 系统安装

官方文档

卸载旧版本

shell 复制代码
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Add Docker's official GPG key:

shell 复制代码
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Add the repository to Apt sources:

shell 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

安装最新版 Docker 软件包

shell 复制代码
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

测试

查看 Docker 是否安装成功

shell 复制代码
docker --version

测试 hello-world

shell 复制代码
sudo docker run hello-world

从上图可以看出。Docker run 做的事情:先寻找 hello-world 镜像,如果没找到,就去远程拉取。拉取成功后就运行,输出 Hello from Docker.

查看镜像

shell 复制代码
docker images

会发现存在 hello-world 镜像。

配置阿里云镜像加速

shell 复制代码
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' 
{ 
	"registry-mirrors":["https://ur5v53mu.mirror.aliyuncs.com"] 
} 
EOF 
sudo systemctl daemon-reload 
sudo systemctl restart docker
相关推荐
wz975410 小时前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*11 小时前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路12 小时前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao12 小时前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker
duansamve1 天前
Python3+Flask+PostgreSQL18+Vue3项目生产环境用docker如何部署?
python·docker·flask
mengge.cloud1 天前
prometheus+k8s+弹性伸缩,综合项目
云原生·容器·kubernetes·prometheus
xbzb1 天前
从零容器化部署 ECShop:Harbor 私有仓库 + 自定义 PHP 镜像 + LNMP 三容器
容器·php·harbor·镜像·仓库·ecshop
那明眸似水1 天前
云原生项目三:Docker秒级启动NextCloud个人网盘存储办公系统
linux·运维·docker·云原生·容器
腾飞开源1 天前
03_Kubernetes 核心概念拆解:从 Spec/Status 收敛到工作负载控制器的设计逻辑
云原生·容器·kubernetes
知已难寻2 天前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器