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 .
相关推荐
知白守黑2675 小时前
jenkins
运维·jenkins
河南博为智能科技有限公司5 小时前
十六串口服务器-解决多设备联网难题
大数据·运维·服务器·人工智能·物联网·边缘计算
运维有小邓@6 小时前
如何生成随机密码保护新创建的用户帐户安全?
运维·安全·自动化
专家大圣6 小时前
5分钟启动标准化安卓环境:Docker-Android让模拟器配置不再踩坑
android·网络·docker·容器·内网穿透
Jack电子实验室7 小时前
Linux系统调用lseek详解:文件指针的灵活控制
linux·运维·服务器
TracelessLe7 小时前
/usr/bin/ld: cannot find -lcuda报错分析
linux·运维·服务器
R0ot7 小时前
面向安全增强的SSH版本升级实战指南
运维·安全·ssh
huangyuchi.7 小时前
【Linux网络】Socket编程实战,基于UDP协议的Echo Server
linux·运维·服务器·udp·socket·客户端·网络通信
头发还没掉光光7 小时前
Linux多线程之生产消费模型,日志版线程池
linux·运维·开发语言·数据结构·c++