docker入门学习

一、docker概念

Docker 引擎是使用的是Linux内核特性的容器引擎。

二、docker的安装

1.docker,下载地址:

桌面版:Docker Desktop: The #1 Containerization Tool for Developers | Docker

服务器版:Install Docker Engine | Docker Docs

2.如遇运行报错:

报错内容:

解决方法

控制面板->程序->启用或关闭 windows 功能,开启 Windows 虚拟化和 Linux 子系统(WSL2)

3.命令行安装 Linux 内核

wsl.exe --install -d Ubuntu

上面命令很可能你安装不了,微软商店你也可能打不开,如果遇到这个问题,参考:https://blog.csdn.net/qq_42220935/article/details/104714114

4.设置开机启动 Hypervisor

bcdedit /set hypervisorlaunchtype auto

注意:要用管理员权限打开 PowerShell

5.设置默认使用版本2

wsl.exe --set-default-version 2

6.查看 WSL 是否安装正确

wsl.exe --list --verbose

出现ubunt系统则证明安装完成

出现下图错误,点击链接安装最新版本的 WSL2
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

7.镜像加速源

镜像加速器 镜像加速器地址
Docker 中国官方镜像 https://registry.docker-cn.com
DaoCloud 镜像站 http://f1361db2.m.daocloud.io
Azure 中国镜像 https://dockerhub.azk8s.cn
科大镜像站 https://docker.mirrors.ustc.edu.cn
阿里云 https://ud6340vz.mirror.aliyuncs.com
七牛云 https://reg-mirror.qiniu.com
网易云 https://hub-mirror.c.163.com
腾讯云 https://mirror.ccs.tencentyun.com

"registry-mirrors": ["https://registry.docker-cn.com"]

三、docker的常用操作命令

1.容器

1.查看容器

//命令:

docker ps OPTIONS

OPTIONS说明:

-a :显示所有的容器,包括未运行的。

-f :根据条件过滤显示的内容。

--format :指定返回值的模板文件。

-l :显示最近创建的容器。

-n :列出最近创建的n个容器。

--no-trunc :不截断输出。

-q :静默模式,只显示容器编号。

-s :显示总的文件大小。

2.查看容器日志

//命令:

docker logs OPTIONS CONTAINER_ID

Options:

--details 显示更多的信息

-f, --follow 跟踪实时日志

--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)

--tail string 从日志末尾显示多少行日志, 默认是all

-t, --timestamps 显示时间戳

--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)

3.杀死正在执行的容器

//杀死某个容器命令:

docker kill 容器ID

//杀死所有容器命令:

docker kill $(docker ps -a -q)

4.删除容器

//删除某个容器命令:

docker rm 容器ID

//删除所有容器命令:

docker rm $(docker ps -a -q)

4.容器启动、关闭、重启

//容器启动

docker start 容器id或者容器名

//容器关闭

docker stop 容器id或者容器名

//容器重启

docker restart 容器ID

5.创建容器

虽然docker 有docker create方法的,这样就是创建一个容器,并不会运行,run相当于create+start,新版docker推荐使用run

//创建容器命令 docker run options 镜像名称:镜像标签(可以用docker image查看)

docker run OPTIONS REPOSITORY:TAG

Options:

-i:表示创建并运行容器

-t:表示容器启动后会进入其命令行。通常于-i一起使用:-it表示创建并运行容器,且运行之后自动进入为当前应用打开一个默认终端

--name :为创建的容器命名。

-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。

-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行,与-t相反。

-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口,程序访问是通过宿主机映射端口来访问容器的。可以使用多个-p做多个端口映射。

-e:表示添加容器的环境变量。

--rm:让容器在退出时,自动清除挂在的卷,以便清除数据。等价于在容器退出后,执行docker rm -v。

6.拷贝容器文件

//把宿主机的文件拷贝到容器里

docker cp 需要拷贝的文件或目录 容器名称:容器目录

//从容器中拷贝文件到宿主机

docker cp 容器名称:容器目录 需要拷贝的文件或目录

7.查看容器的数据

docker inspect 容器名称(容器ID)

8.将容器保存为镜像

docker commit 容器名 保存的镜像名

9.容器备份

docker save --o 打包的后的文件名.tar 镜像名

10.容器恢复

docker load --i 你的备份镜像tar包

11.监控容器占用资源

docker stats

//默认情况下,stats 命令会每隔 1 秒钟刷新一次输出的内容直到你按下 ctrl + c。下面是输出的主要内容:

CONTAINER:以短格式显示容器的 ID。

CPU %:CPU 的使用情况。

MEM USAGE / LIMIT:当前使用的内存和最大可以使用的内存。

MEM %:以百分比的形式显示内存使用情况。

NET I/O:网络 I/O 数据。

BLOCK I/O:磁盘 I/O 数据。

PIDS:PID 号。

12.导出容器

docker export OPTIONS CONTAINER

OPTIONS说明:

-o :将输入内容写到文件。

示例:docker export -o export123.tar a404c6c174a2

2.镜像

1.查看镜像

docker image

//字段说明:

REPOSITORY:镜像名称

TAG:镜像标签

IMAGE ID:镜像ID

CREATED:镜像的创建日期

SIZE:镜像大小

2.删除镜像

//删除单个镜像

docker rmi options? 镜像ID

//删除全部镜像

docker rmi options? $(docker images -q)

Options

-f 强制删除

3.检索镜像

docker search 镜像名

4.拉取镜像

docker pull 镜像名:版本

//示例 redis最新版

docker pull redis:latest //latest 表示最新版

5.制作镜像

docker build -t 镜像名 . //注意:最后有个 . 表示使用当前目录的Dockerfile构建;

6.将镜像保存为归档文件

docker save OPTIONS IMAGE TAG

OPTIONS 说明:

-o :输出到的文件。

//示例:

docker save -o my_golang_latest.tar mygolang:latest

7.从归档文件创建镜像

docker import OPTIONS file|URL|- REPOSITORY\[:TAG]

OPTIONS说明:

-c :应用docker 指令创建镜像;

-m :提交时的说明文字;

//示例

docker import my_golang_latest.tar mygolang:latest

8.从归档文件导入镜像

docker load OPTIONS

OPTIONS 说明:

--input , -i : 指定导入的文件,代替 STDIN。

--quiet , -q : 精简输出信息。

//示例

docker load --input my_golang_latest.tar

注意:docker 可以使用docker load命令来导入镜像库存储文件到本地镜像库,也可以使用docker import命令来导入一个容器快照到本地镜像库。

两者的区别在于容器快照将会丢弃所有的历史记录和元数据信息,而镜像存储文件将保存完整记录,体积也会更大。此外从容器快照文件导入时,也可以重新指定标签等元数据。

9.修改镜像的tag和name

docker tag 9aed1ced115f imagename:1.0.4

10.清理Build缓存

docker builder prune

借鉴文章地址:

Docker常用命令_docker -p-CSDN博客

相关推荐
tellmewhoisi7 小时前
项目部署docker(指令解析和docker-compose基础指令)
docker·容器
dinl_vin8 小时前
FastAPI 系列 ·(十二):生产部署——Docker + 配置管理(系列完结)
docker·容器·fastapi
小新同学^O^8 小时前
简单学习 --> 模型参数
学习·llm·大模型参数
cdbqss18 小时前
VB2026 菜单生成基类 BqGetMenuStrip
数据库·经验分享·学习·oracle·vb
吃好睡好便好10 小时前
创建魔方矩阵和单位矩阵
开发语言·人工智能·学习·线性代数·matlab·矩阵
星夜夏空9910 小时前
STM32单片机学习(21) —— I2C通信
stm32·单片机·学习
蠢货爱好者10 小时前
Docker基础操作
运维·docker·容器
山人在山上11 小时前
docker zlmediakit 部署
docker·zlmediakit
hopsky11 小时前
phoenix docker 启动
运维·docker·容器
searchforAI12 小时前
B站视频转笔记用哪个工具?2026年四款AI笔记工具对比实测
人工智能·经验分享·笔记·gpt·学习·视频总结·ai笔记