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 .
相关推荐
摘星编程3 小时前
openGauss 快速上手:CentOS 环境下单机部署完整指南
linux·运维·centos
大喵桑丶8 小时前
中间件快速部署(Nginx,Keepalived)
运维·nginx·中间件
hanyi_qwe9 小时前
文本三剑客--awk
linux·运维·服务器
Caven779 小时前
【Linux 技巧】如何在登录时自动激活 Conda Base 环境
linux·运维·conda
哈里谢顿9 小时前
Docker 中快速启动 Prometheus + Grafana操作指南(二)
docker
凌寒119 小时前
Linux(Debian)安装、卸载 MySQL
linux·运维·mysql·debian
victory04319 小时前
K8S containerd 打包镜像和部署流程和注意事项
云原生·容器·kubernetes
云飞云共享云桌面10 小时前
如何降低非标自动化工厂的研发软件采购成本
运维·服务器·网络·数据库·性能优化·自动化
七七墨染10 小时前
DotMemory系列:5. 如何实现自动化抓取和应用自托管
运维·c#·自动化
泰克教育官方账号10 小时前
泰涨知识 | 什么是自动化巡检?
运维·服务器·数据库