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

相关推荐
zjeweler1 小时前
linux服务器部署openclaw最新最细教程(非docker版)
linux·服务器·docker·openclaw
qingwufeiyang_5302 小时前
Mybatis-plus学习笔记1
笔记·学习·mybatis
bingd012 小时前
慕课网、CSDN、菜鸟教程…2026 国内编程学习平台实测对比
java·开发语言·人工智能·python·学习
Sophie_U2 小时前
【Agent开发速成笔记】一、从0到1基础Python学习
笔记·python·学习·agent·智能体
杨浦老苏2 小时前
开源自主AI智能体助手Frona
人工智能·docker·ai·群晖
Fanfanaas2 小时前
Linux 系统编程 进程篇 (三)
linux·运维·服务器·c语言·单片机·学习
其实防守也摸鱼2 小时前
dirsearch安装与配置:新手入门指南
网络·数据库·学习·学习方法·目录扫描·虚拟机工具
x10n92 小时前
基于提示词驱动的Function Call实现K8s Pod智能诊断
ai·云原生·容器·kubernetes
墨^O^2 小时前
C++ Memory Order 完全指南:从 relaxed 到 seq_cst,深入理解无锁编程与 happens-before
linux·开发语言·c++·笔记·学习·算法·缓存