docker常用命令

bash 复制代码
docker version # 显示 Docker 版本信息。

镜像命令

bash 复制代码
docker images # 列出本地主机上的镜像
docker pull # 下载镜像
docker rmi # 删除镜像

容器命令

bash 复制代码
docker run -it centos /bin/bash # 使用centos镜像进行用交互模式启动容器,在容器内执行/bin/bash命令!
# 常用参数说明 
--name="Name" # 给容器指定一个名字 
-d # 后台方式运行容器,并返回容器的id! 
-i # 以交互模式运行容器,通过和 -t 一起使用 
-t # 给容器重新分配一个终端,通常和 -i 一起使用 
-P # 随机端口映射(大写) 
-p # 指定端口映射(小结),一般可以有四种写法,hostPort:containerPort (常用)例如:3310本机端口:3306容器中的端口
-e, --env # 设置环境变量
-v, --volume # 挂载数据卷或主机目录到容器,格式为:主机路径:容器路径,如 -v /host/data:/container/mysql/data
注:在 Docker 命令(以及大多数 Unix/Linux 命令)中,参数前的单短横线 - 和双短横线 -- 是有明确区别的,主要用于区分短选项(缩写)和长选项(完整名称),设计初衷是为了平衡命令的简洁性和可读性。

bash 复制代码
exit # 使用 exit 退出容器
ctrl+P+Q # 容器不停止退出

bash 复制代码
docker ps [OPTIONS]
# 常用参数说明 
-a # 列出当前所有正在运行的容器 + 历史运行过的容器 
-l # 显示最近创建的容器 
-n=? # 显示最近n个创建的容器 
-q # 静默模式,只显示容器编号。

bash 复制代码
启动停止容器:
docker start (容器id or 容器名) # 启动容器 
docker restart (容器id or 容器名) # 重启容器 
docker stop (容器id or 容器名) # 停止容器 
docker kill (容器id or 容器名) # 强制停止容器
bash 复制代码
删除容器:
docker rm 容器id # 删除指定容器 
docker rm -f $(docker ps -a -q) # 删除所有容器 
docker run -d 容器名 # 启动容器,使用后台方式启动
bash 复制代码
其他容器命令:
docker inspect 容器id # 查看容器/镜像的元数据
docker exec -it 容器id bin/bash # 进入正在运行的容器,是在容器中打开新的终端,并且可以启动新的进程
docker attach 容器id # 进入正在运行的容器,直接进入容器启动命令的终端,不会启动新的进程
docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名] # 从容器创建一个新的镜像。理解:有点像git提交代码

DockerFile指令

bash 复制代码
FROM # 基础镜像,当前新镜像是基于哪个镜像的 
MAINTAINER # 镜像维护者的姓名混合邮箱地址 
RUN # 容器构建时需要运行的命令 
EXPOSE # 当前容器对外保留出的端口 
WORKDIR # 指定在创建容器后,终端默认登录的进来工作目录,一个落脚点 
ENV # 用来在构建镜像过程中设置环境变量 
ADD # 将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包 
COPY # 类似ADD,拷贝文件和目录到镜像中! 
VOLUME # 容器数据卷,用于数据保存和持久化工作 
CMD # 指定一个容器启动时要运行的命令,dockerFile中可以有多个CMD指令,但只有最 
后一个生效! 
ENTRYPOINT # 指定一个容器启动时要运行的命令!和CMD一样 
ONBUILD # 当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承后,父镜像的ONBUILD被触发
bash 复制代码
构建(编写完dockerfile文件之后生成镜像):
docker build -f dockerfile地址 -t 新镜像名字:TAG . # 会看到 docker build 命令最后有一个 . . 表示当前目录
举例:docker build -f mydockerfile-centos -t mycentos:0.1 .
相关推荐
七夜zippoe1 小时前
CANN Runtime任务描述序列化与持久化源码深度解码
大数据·运维·服务器·cann
金刚猿2 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong2 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿3 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
Fcy6483 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满3 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠3 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Harvey9033 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
陈桴浮海4 小时前
Kustomize实战:从0到1实现K8s多环境配置管理与资源部署
云原生·容器·kubernetes
珠海西格电力科技5 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市