大晚上比较清闲,总结点Docker 常用命令速查手册

2024-01-27 20:32

本文主要是介绍大晚上比较清闲,总结点Docker 常用命令速查手册,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记录一下docker的日常使用命令,本文主要针对linux + mac操作系统而言,window是否适用不太确定,谨慎使用

1. docker进程

docker进程启动、停止、重启,常见的三种case

# 启动docker
service docker start
# 关机docker
service docker stop
# 重启docker
service docker restart
复制代码

2. 镜像操作

镜像作为容器执行的前提条件,一般需要掌握的几个命令无非是搜索,下载,删除,创建

# 镜像列表
docker images
# 检索镜像, 从镜像仓库中检索
docker search xxx
# 下载镜像
docker pull xxx
# 删除镜像
docker rmi xxx
复制代码

关于创建镜像,有必要稍微详细一点点

# 通过容器创建镜像
docker commit -m="首次提交" -a="一灰灰Blog" dd85eb055fe8 yh/centos:v0.1
# 镜像历史查询
docker history yh/centos
复制代码

上面的几个参数进行说明

  • -m 和git的提交一样,后面跟上描述信息
  • -a 版权声明,这个东西是我创建的,有啥问题,找我
  • dd85eb055fe8 容器id
  • yhh/quick-os:0.1 创建的镜像名

3. 容器操作

接下来就是正菜了,容器的各种操作,启动,关闭,重启,日志查询以及各种进入容器内部搞事情

a. run

万事开头第一步,加载镜像,创建容器

docker run 镜像名:版本
复制代码

run后面可以跟很多的参数,比如容器暴露端口指定,存储映射,权限等等,由于参数过多,下面只给出几个不同的例子,来具体的演示参数可以怎么加

case1: 创建并后台执行

docker run -i -t -d centos:latest
复制代码
  • 其中关键参数为-d,指定容器运行与前台或者后台,不加上时前台
  • -i: 打开STDIN,用于控制台交互
  • -t: 支持终端登录

case2: 运行一个带命令在后台不断执行的容器

docker run -d centos:latest ping www.baidu.com
复制代码

case3: 运行一个在后台不断执行的容器,同时带有命令,程序被终止后还能重启继续跑

docker run -d --restart=always centos:latest ping www.baidu.com
复制代码

case4: 指定容器名

docker run -d --name=yhh_centos centos:latest
复制代码

case5: 暴露容器端口80,并与宿主机端口8080绑定

docker run -d --name=yhh_centos -p 8080:80 centos:latest
复制代码

case6: 指定容器与宿主机目录(/home/yihui/html/www)共享

docker run -d --name=yhh_centos -v /home/yihui/html/www:/var/www centos:latest
复制代码

b. 基操

容器创建完毕之后,就是一些基本操作了,启动、停止、重启、删除

# 查看容器列表, 列出所有的容器
docker ps -a 
# 启动容器,start后面可以跟上容器名,或者容器id
docker start xxx  # (这里的xxx可以是容器名:yhh_centos 也可以是容器id:f57398ab22c5)
# 关闭容器
docker stop xxx
# 重启
docker restart xxx
# 删除
docker rm xxx
复制代码

在查看容器列表时,如果某个容器的启动参数特别长,直接使用docker ps -a会发现看不到完整的启动命令,这个时候可以带上参数--no-trunc来显示完整命令

docker ps -a --no-trunc
复制代码

c. 进阶

接下来进入一些容器的高级操作技巧(实际上也并没有特别酷炫)

为了演示一些进阶的内容,这里创建一个容器作为测试

docker run -it -d --name=yhhos centos
复制代码

容器日志查询

日志,定位问题的神器

# 查询xxx容器的日志
docker logs yhhos
复制代码

基本上不太会直接使用上面的命令,因为上面把所有的日志都打印出来了,可以直接晃瞎我们的钛合金x眼

一般日志可以加两个参数 -f, -t

docker logs -f -t --since="2019-05-11" --tail=10 yhhos
复制代码
  • --since : 此参数指定了输出日志开始日期,即只输出指定日期之后的日志。
  • -f : 查看实时日志
  • -t : 查看日志产生的日期
  • --tail=10 : 查看最后的10条日志。

文件拷贝

将容器的某个文件捞出来;或者强塞,一个cp即可

# 将当前目录的test.md文件拷贝到容器的 /tmp 目录下
docker cp test.md yhhos:/tmp# 将容器的/tmp/test.md目录拷贝到当前目录下
docker cp yhhos:/tmp/test.md ./out.md
复制代码

进入容器

进入容器内部,然后就可以为所欲为了...

docker exec -it yhhos /bin/bash
复制代码

获取容器所有信息

docker inspect yhhos
复制代码

 

2. 声明

尽信书则不如,已上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现bug或者有更好的建议,欢迎批评指正,不吝感激


 

这篇关于大晚上比较清闲,总结点Docker 常用命令速查手册的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/651408

相关文章

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Python如何实现高效的文件/目录比较

《Python如何实现高效的文件/目录比较》在系统维护、数据同步或版本控制场景中,我们经常需要比较两个目录的差异,本文将分享一下如何用Python实现高效的文件/目录比较,并灵活处理排除规则,希望对大... 目录案例一:基础目录比较与排除实现案例二:高性能大文件比较案例三:跨平台路径处理案例四:可视化差异报

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

MySQL中比较运算符的具体使用

《MySQL中比较运算符的具体使用》本文介绍了SQL中常用的符号类型和非符号类型运算符,符号类型运算符包括等于(=)、安全等于(=)、不等于(/!=)、大小比较(,=,,=)等,感兴趣的可以了解一下... 目录符号类型运算符1. 等于运算符=2. 安全等于运算符<=>3. 不等于运算符<>或!=4. 小于运