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://dockerhub.timeweb.cloud",
"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