docker简单学习

openeuler24.03下载docker

第一步:配置阿里源

cat <<EOF >> /etc/yum.repos.d/docker-ce.repo

docker-ce-stable

name=Docker CE Stable - $basearch

baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/9/x86_64/stable/

enabled=1

gpgcheck=1

gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

EOF

yum安装docker

yum install -y docker-ce

(ce安装是实验室环境下,ee是传统生产环境下)

启动docker,要给 docker 配置国内镜像加速

cat <<EOF >>/etc/docker/daemon.json

{

"registry-mirrors": [

"https://0vmzj3q6.mirror.aliyuncs.com",

"https://docker.m.daocloud.io",

"https://mirror.baidubce.com",

"https://dockerproxy.com",

"https://mirror.iscas.ac.cn",

"https://huecker.io",

"https://dockerhub.timeweb.cloud",

"https://noohub.ru",

"https://vlgh0kqj.mirror.aliyuncs.com"

]

}

EOF

更新配置后要重新读取:systemctl daemon-reload

设置开机自启:systemctl enable --now docker

docker开启后会有docker0网卡用于docker网络环境连接

下载镜像(拉取):docker pull ubuntu:22(指定版本,后面不写":20"默认最新版)

查看全部镜像:docker images

disk usage:包含镜像所有层的实际占用空间(比如缓存、元数据)

content size:镜像解压后,文件系统本身的大小(不含额外开销)

系统类镜像启动:docker run -itd ubuntu:latest bash

docker每启一个容器,就在系统里驻留一个进程

一个系统里能起多少容器由硬件资源和进程数量决定

进入ubuntu系统镜像:docker exec -it 5a bash(5a是系统ID前两位)

更新源:apt update

查看docker网络环境:docker network ls

三种网络驱动bridge(默认模式) host(主机模式)null(空,开启后没有信息)

安装 Linux 网络工具包:apt install net-tools(这样在docker中也可使用ifconfig(查看网卡 IP)netstat(查看端口))

ping包:apt install -y iputils-ping

需要详细记下的镜像管理命令

命令 描述 举例
docker images 列出本地所有镜像 docker images
docker search 在Docker Hub上搜索镜像 docker search nginx
docker pull 下载镜像 docker pull nginx
docker push 上传镜像到Docker Hub或其他镜像仓库 docker push username/repo:tag
docker build 使用Dockerfile构建新的镜像 docker build -t myimage:latest .
docker tag 为镜像设置标签 docker tag myimage:latest myimage:v1.0
docker rmi 删除镜像 docker rmi myimage:latest
docker inspect 查看镜像的详细信息 docker inspect myimage:latest
docker history 查看镜像的历史记录 docker history myimage:latest
docker save 将镜像保存为tar文件 docker save myimage:latest -o myimage.tar
docker load 从tar文件中加载镜像 docker load -i myimage.tar
docker commit 将容器提交为新的镜像 docker commit container_id myimage:v1.0
docker import 从tar文件中导入镜像 docker import myimage.tar myimage:v1.0

docker容器中的缓存储存都是临时存储,关机后都会删除。

docker临时存储目录:cd /var/lib/docker/containers

查看NAT表:iptables -t nat -nL

docker使用 Copy-on-Write 的机制(可写容器层,cow),当我们想保存一个数据的时候,由于镜像是只读的,当我们创建容器时,是在镜像层的上面创建一个可写容器层,所有对容器的修改都会放置在可写容器层上,只要这个容器不被释放,这个数据一直存在,除非把这个容器删掉。

**镜像的表示分为四部分

红色的部分是镜像中心域名
黄色的部分是镜像命名空间,我们可以根据命名空间进行权限控制等操作
绿色是镜像的名称,每个镜像有一个版本(即标签)。
蓝色表示版本,laest是最新版**

将镜像保存为tar文件:docker save centos:7 -o centos7.tar

相关推荐
梦想的颜色5 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
千寻xun6 小时前
一、理论篇-NVME协议学习笔记
笔记·学习·fpga开发·nvme ssd·nvme协议
researcher-Jiang7 小时前
高性能计算之OpenMP——超算习堂学习1
android·java·学习
万里侯8 小时前
GitOps 漂移检测:集群里改了配置,Git 还以为一切正常
微服务·容器·k8s
MartinYeung511 小时前
[论文学习]大语言模型安全综述:攻击、防御、对齐、度量与护栏的深度解析
学习·安全·语言模型
AOwhisky12 小时前
Python 学习笔记(第三期)——流程控制:条件判断与循环结构
运维·笔记·python·学习·云原生·流程控制·循环
心中有国也有家12 小时前
AtomGit Flutter 鸿蒙客户端:白噪音场景的视觉设计
学习·flutter·华为·harmonyos
心中有国也有家13 小时前
AtomGit Flutter 鸿蒙客户端:呼吸练习的完整生命周期
学习·flutter·华为·harmonyos
Zeeland13 小时前
构建护城河:自学习 Agent
学习
极客先躯13 小时前
高级java每日一道面试题-2026年03月30日-实战篇[Docker]-如何监控容器的网络流量?
java·运维·docker·容器·prometheus·高级面试