docker常用命令总结

2023-05-16

docker常用命令总结
uname -r                 # 查看内核信息版本
cat /etc/os-release      # 查看系统信息
cat /proc/version        # 系统版本号查看
systemctl start docker   # 启动docker服务
docker run hello-world   # 运行一下这个容器,运行成功证明启动成功,如果没有hello-world这个镜像会自动获取
docker images            # 查看镜像
rm -rf /var/lib/docker   # 删除docker(不建议)
docker version       # 显示docker的版本信息
docker info          # 显示docker的系统信息
docker 命令 --help   # 显示docker的帮助命令
# 帮助文档地址:https://docs.docker.com/reference/
镜像命令
# 查看和探索
docker images     # 查看当前有的
docker images -a  # 查看所有的,包括中间映像层
docker search mysql --filter=STARS=3000

# 下载镜像
docker pull 镜像名[:tag]
	docker pull mysql
	docker pull docker.io/library/mysql:laster
	docker pull mysql:5.7
	
# 删除镜像
docker rmi -f 容器id #强制删除指定镜像
docker rmi -f 镜像id 镜像id 镜像id 镜像id 镜像id # 删除多个镜像
docker rmi -f $(docker images -aq) #删除所有镜像

为什么docker search mysql时候会搜出来这个?

mariadb MariaDB Server is a high performing open sou… 5165 [OK]

容器命令

有了镜像才可以创建容器

# 创建并且启动容器
docker run -d centos(镜像名)  # 后台启动
docker run [可选参数] image (name,d,it,p)
	docker run -it centos /bin/bash

# 列出(查看)容器
docker ps # 列出运行中的容器
docker ps -a # 列出曾经运行过的容器

# 进入容器
docker exec -it 容器id /bin/bash  # 进入容器后开启一个新的终端,可以在里面操作 (常用)
docker attach 容器id              # 进入容器正在执行的终端,不会启动新的进程

# 退出容器
exit	#直接退出并停止容器,(后台运行的会停止吗?)不会  从容器中退出到主机
Ctrl + P + Q	# 容器不停止,但是退出

# 删除容器
docker rm 容器id                 # 删除指定容器【不能删除正在运行的容器】
# 删除的容器要怎么搞回来? docker run -d tomcat,后台挂载,因为启动容器不适用的话会被删除,后台挂在一下就不会被删除了
docker rm -f $(docker ps -aq)   # 删除所有容器
docker ps -a -q|xargs docker rm # 删除所有容器

# 启动和停止
docker start 容器id    # 启动容器
docker restart 容器id  # 重启容器
docker stop 容器id     # 停止当前正在运行的容器
docker kill 容器id     # 强制停止当前容器
其他常用命令
# 日志
-tf       # 显示日志
--tail 10 # 显示日志条数
docker logs -tf --tail 10 容器id

# 进程
docker top 容器id

# 镜像元数据
docker inspect 容器id

# 拷贝
docker cp 容器id:容器内路径 目的地主机路径
	docker ps
	docker attach 容器id
	cd /home
	ls
	touch test.go
	exit
	docker ps
	docker ps -a
	docker cp 容器id:/home/test.go /home
实战

docker 安装 nginx

home目录下
docker pull nginx # 拉镜像
docker images # 查看镜像
docker run -d --name nginx01 -p 3344:80 nginx  # nginx默认端口是80,把他映射到3344 ,启动
docker ps # 查看容器进程
curl localhost:3344
clear
docker exec -it nginx01 /bin/bash # 进入容器
whereis nginx # 查看位置
exit # 退出来
docker stop 容器id # 停止服务

# -d 后台运行
# --name 给容器起个名字
# -p 宿主机端口:容器内部端口
数据卷
docker run -it -v 主机目录:容器内目录

docker run -it -v /home/ceshi:/home centos /bin/bash
docker inspect 容器id # 查看卷的具体信息

# 匿名挂载  不推荐
docker run -d -P --name nginx01 -v /etc/nginx nginx
docker volume ls
# -P 随机映射
# 具名挂载  推荐
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
docker volume ls
docker volume inspect juming-nginx
/var/lib/docker
# 没有指定目录的情况下都是在`var/lib/docker/volumes/xxx/_data`

# 如何确定是否是具名挂载
-v 容器内路径              # 匿名挂载
-v 卷名:容器内路径         # 具名挂载
-v /宿主机路径:容器内路径   # 指定路径挂载

# 容器权限
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx

# ro 是readonly(只能通过宿主机操作,容器内部无法操作) rw是readwrite,这个是默认的

# Dockerfile 创建镜像,相当于脚本,这也是第二种创建镜像的方法,第一种是commit
# /home/docker-test-volume下创建mikdir volume1 vim进去写下边的dockerfile1
FROM centos                                # 基于centos

VOLUME ["volume01","volume02"]             # 匿名挂载

CMD echo "----end----"                    
CMD /bin/bash
# docker build -f /home/docker-test-volume/dockerfile -t jingz/centos1.0 . 构建
docker images # 就会发现jingz/centos1.0这个镜像
docker run -it 镜像id /bin/bash
ls -l # 看目录中每个文件的更多的信息
cd volume01 # 创建一个文件,例如good.txt
docker inspect 容器id # 另开一终端看挂载,找到对应的匿名挂载的位置,然后进去,看看是否有这个文件

# 数据卷——容器间拷贝
docker run -it --name docker01 镜像名/镜像id
docker run -it --name docker02 --volumes-from docker01 jingz/centos1.0


实战:mysql持久化

docker pull mysql:5.7

# $ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v/home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7

# navicat连接测试
# 创建数据库,在文件查看是否有
# 到这一步没法了,感觉是这个端口没开,有空找佳鹏让他开一下。
dockerfile文件
FROM          # 基础镜像
MAINTAINER    # 镜像作者+邮箱
RUN           # 镜像构建时需要运行的命令
ADD           # 步骤,tomcat,添加内容
WORKDIR       # 镜像的工作目录
VOLUME        # 挂载的目录
EXPOSE        # 暴露的端口配置
CMD           # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT    # 指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD       # 当构建一个被继承 DockerFile 这个时候就会运行ONBUILD 的命令,触发指令
COPY          # 类似ADD,将我们文件拷贝到镜像中
ENV           # 构建的时候设置环境变量

# 编写dockerfile文件——一个实例
FROM centos:7
MAINTAINER jingz<jingzhi736728@163.com>

ENV MYPATH /usr/local
WORKDIR $MYPATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "----end----"
CMD /bin/bash


docker build -f mydockerfile-centos -t mycentos:0.1 . # 构建镜像 -t指定仓库名,和版本号
docker run -it 70c587c842e8 /bin/bash # 进入测试,是否有vim和ifconfig命令

实战

mkdir /home/jingz/build/tomcat
readme.txt
用xftp把jdk8 和apache-tomcat9.0.22的压缩包搞到这个文件夹
vim Dockerfile

FROM centos
MAINTAINER jingz<邮箱>

COPY readme.txt /usr/local/readme.txt

ADD jdk-8u11-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /url/local/apache-tomcat-9.0.22/bin/logs/catalina.out

docker build -t diytomcat

docker run -d -p 9090:8080 --name jingztomcat -v /home/jingz/build/tomcat/test:/usr/local/apache-tomcat-9.0.22/webapps/test -v /home/jingz/build/tomcat/tomcatlogs/:usr/local/apache-tomcat-9.0.22/logs diytomcat

docker镜像可以发布xi

docker hub提交

docker login -u 用户名 -p 密码
docker push jingz/REPOSITORY:tag
docker tag 镜像id 仓库名:tag  # 给这个镜像改个名字,和版本号
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker常用命令总结 的相关文章

  • 深度强化学习(3)Prioritized Replay DQN

    Prioritized Replay DQN 在深度强化学习 xff08 2 xff09 Double DQN 中 xff0c 我们讲到了DDQN使用两个Q网络 xff0c 用当前Q网络计算最大Q值对应的动作 xff0c 用目标Q网络计算这
  • 封装使用axios进行接口请求

    一 安装axios npm install axios在main js引入 import axios from 34 axios 34 Vue use axios vue3使用createApp App config globalPrope
  • VMware+Ubuntu20.04安装指南

    1 首先下载VMware Workstation Player 16 xff0c 下载链接为 https customerconnect vmware com en downloads all products 2 下载完成后 xff0c
  • Java8流式操作——中间操作

    文章目录 什么是中间操作 xff1f 方法实践说明一 前提条件Person类Data类 二 操作filter 过滤distinct 去重 xff08 去除集合中重复的元素 xff09 sorted 排序 sorted 无参构造 sorted
  • 数据挖掘(Data Mining)扫盲笔记

    知识框架来源 xff1a 人工智能之数据挖掘 其他补充来源 xff1a 拿下Offer 数据分析师求职面试指南 数据分析实战45讲 Data Mining 概述篇基础认知挖掘对象常见任务 xff1a 模型分类问题与挑战十大经典算法 C4 5
  • 信息论笔记(需要编辑格式)

    主要来源 xff1a 吴军 信息论40讲 信息论介绍 世界上任何一个探索者都需要清楚三件事 我们现在的位置 我们的目标 以及通向目标的道路 哲学是一门生活的艺术 它帮助我们认清自己 它回答了第一个问题 至于每一个人的目标 我相信大家比我更清
  • 阿里云短信服务使用

    说明 这是用go语言实现的 xff0c 但说实话 xff0c 其实没啥影响 xff0c 不管什么语言都是这个套路 xff0c 所以无论你是学什么语言或者是用什么语言的都好 xff0c 看看总不亏 22年7 14下午14 xff1a 38 x
  • 数据分析思维扫盲

    知识来源 xff1a 接地气学堂1 前言 行文之初衷 xff0c 建立知识树 xff0c 因而不易速读 xff0c 请君悉知 宜为工具书 xff0c 按索引取之 独学而无友 xff0c 必孤陋寡闻 xff0c 请君赐教 xff0c 不吝感激
  • 高阶用户运营体系搭建

    这里写目录标题 第1章 理解用户运营本质1 什么是 用户运营 xff1f 2 一个 用户运营 重点关注什么 xff1f 3 怎么做好用户运营 xff1f 4 高阶用户运营体系搭建5 大规模用户运营体系的3大子系统6 用户留存的归因 活跃差模
  • 商品管理-运营指挥室 看板

    商品管理可视化项目 项目目标 梳理商品管理的整体业务流程 xff0c 调研数据的使用情况 xff0c 建立影响业务的 xff1a 销量 留存 sku数 断码等维度指标 xff0c 建立智能数据监控体系 工作范围 销量看板留存看板在售SKC看
  • Excel 的进阶学习

    文章目录 Excel 的进阶学习1 常用的 Excel 函数及用途1 关联匹配类2 清洗处理类3 逻辑运算类4 计算统计类5 时间序列类 2 基础1 快捷键2 数据组错误信息基本认识计算操作符 3 数据图展示 3 实战分析注意 Excel
  • SQL

    数据库 基本概念 1 xff0e 数据 定义 xff1a 描述事物的符号序列 xff0c 数据 xff08 Data xff09 是数据库中存储的基本对象 数据的种类 xff1a 数字 文字 图形 图像声音及其他特殊符号 数据举例 xff1
  • MatLab-simulink组件(模块)中文名大全

    MATLAB 矩阵实验室 7 0 1 Simulink 仿真 6 1 Aerospace Blockset 太空模块 1 6 1 Bioinformatics Toolbox 生物信息工具箱 1 1 1 CDMA Reference Blo
  • 控制理论总结

    经典控制理论 xff1b 现代控制理论线性控制理论 xff1b 非线性控制理论最优控制 xff1b 预测控制 xff1b 鲁棒控制数字控制系统 xff1b 连续控制系统随动系统 xff1b 自动控制系统的分类 一 按给定信号的形式不同 xf
  • H无穷控制

    H无穷优化控制问题可归纳为 xff1a 求出一个使系统内部稳定的控制器K s xff0c 使闭环传函Tzw的无穷范数极小 LQG的弱点 xff1a 对控制的一个主要挑战使多变量控制系统设计 xff0c 因为MIMO系统的传函是一个矩阵 LQ
  • 增益调度控制

    增益调度方法在良性 Well Behaved 非线性系统中应用的比较普遍 xff0c 所谓良性非线性系统是指系统的行为特性能由一系列选定的局部线性化模型充分描述 增益调度控制方法的一个显著优点就是它能够充分利用现有的成熟的线性控制理论为非线
  • UORB讲解

    Pixhawk 飞控系统是基于ARM的四轴以上飞行器的飞行控制器 xff0c 它的前身是PX4 IMU xff0c Pixhawk 把之前的IMU进行了完整的重构 xff0c 最新版本是2 4 3 而对应的Pixhawk 1 x版本与2 x
  • gorm的Raw与scan

    gorm的Raw与scan Raw 中文 xff1a 原生的 作用 xff1a 在写gorm语句时候用来写Raw sql语句 xff08 原生sql语句 xff09 gorm官方介绍Scan https gorm io zh CN docs
  • MavLink

    2 1 MAVLink xff08 Micro Air Vehicle Link xff09 是一种用于小型无人载具的通信协议 xff0c 于2009年首次发布 该协议广泛应用于地面站 xff08 Ground Control Statio
  • 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗?

    1 飞控接收到的每一条MAVLink消息包都会上传到uORB消息池中吗 xff1f 2 如何自定义 xff08 选择 配置 xff09 发送给QGC的MAVLink消息 xff1f

随机推荐

  • 滤波、传感器融合、IMU合GPS可以测量哪些物理量

    目录 结论IMU加速度计陀螺仪GPS 原理加速度计陀螺仪GPS 传感器融合滤波算法线性互补滤波卡尔曼滤波KF扩展卡尔曼滤波EKF 小结 结论 IMU paxhawk pixhack自带的IMU xff08 惯性测量模块 xff09 包含以下
  • 学习过程中提出的疑问

    目录 如何在simulink中编译两个应用并烧录到飞控中 xff1f 如何自定义地面站QGC接收到的MAVLink消息 xff1f xff08 MAVLink inspector xff09 航点 航路生成器 xff1f 如何在simuli
  • PX4学习笔记

    目录 网址PX4 io网页指导Pixhawk PX4 APM ArduPilot关系硬件照片 示意图逻辑图 集多旋翼控制框架软件框架 辅助工具 软件 使用方法source insight新建工程 导入PX4源码source insight
  • H无穷控制理论与应用案例分析

    0 知识背景 概念 定义 内稳定 xff1a BIBO稳定 xff1a 镇定 xff1a 对于一个控制系统来说 xff0c 如果通过某种反馈可以使系统实现渐近稳定 xff0c 即闭环系统极点具有负实部 xff0c 则称该系统是能镇定的 信号
  • ADRC从入门到放弃0

    ADRC xff1a 自抗扰控制器 其中 xff0c 在对自抗扰理论的 研究中 xff0c 引入了带宽概念这一个崭新的思路 xff0c 极大的简化了自抗扰技术使用时参数整定 的问题 xff0c 同时时域分析的方法可以发现利用带宽的概念还有利
  • 直升机建模

    目录 引子tips模型的组成 引子 duck不必陷入细节 xff0c 比如坐标转换 xff0c 忽而略微小项目 tips x 表示两个向量的叉乘 模型的组成 刚体运动学 xff1a 描述平移运动与转动运动 xff0c 即位移 xff08 线
  • 模糊PID(自适应模糊PID、fuzzy PID)的基本原理及应用举例 by 研三笔记

    目录 1 控制框图2 概述3 基本原理3 1 一些基本的概念 定义3 2 模糊化3 3 模糊推理3 4 清晰化 xff08 解模糊 反模糊化 xff09 3 5 模糊PID3 6 使用 fis文件 4 利用matlab模糊控制工具箱设计模糊
  • 3d目标检测

    目录 知网论文阅读笔记关键词 key words现状 摘要 碎片知识点3D检测算法分类根据其使用的数据类型为三类 xff1a 按照点云不同的特征表达方式分类 1 xff1a 其他分类方法 1 xff1a 根据传感器分类 2 xff1a 根据
  • kex_exchange_identification: Connection closed by remote hostConnection closed by ::1 port 22

    kex exchange identification Connection closed by remote hostConnection closed by 1 port 22 缘起 拉代码仓库出错 xff0c 还挺常见 https 错
  • 基于线性矩阵不等式LMI的鲁棒H无穷控制算法设计,多性能指标的H无穷控制算法推导,多面体模型

    catalogue 关键字一些符号和特殊表示预备知识正文 xff08 一 xff09 不确定系统的数学表示 xff08 二 xff09 线性时不变定常系统的LMI稳定性定理 xff08 判据 xff09 2 1 系统模型2 2 当u 61
  • python与其他语言的不同之处--语法拾遗

    八戒你说呢 基本语法空行的使用行与缩进import 与 from import命令行参数变量的使用列表Tuple xff08 元组 xff09 Set xff08 集合 xff09 Dictionary xff08 字典 xff09 Pyt
  • 深度学习入门篇1

    1 目前流行的深度学习框架简介 深度学习框架 xff08 点击跳转 xff09 2 神经网络工具箱torch autograd与torch nn torch autograd库虽然实现了自动求导与梯度反向传播 xff0c 但如果我们要完成一
  • 3D点云的基本操作(基于PCL编程)

    知识储备 右手系 右手 xff0c 拇指 xff0c 食指 xff0c 中指 xff0c 分别是x y z的正方向 左手系则同理 旋转矩阵 本质 xff1a 两个坐标系之间的旋转关系 用途 xff1a 旋转点云 原理 xff1a 设传感器的
  • uCOS-III 应用开发指南—基于 STM32F103系列

    uCOS III 应用开发指南 基于 STM32F103系列 嵌入式经典教材 实例截图 文件 xff1a 590m com f 25127180 490253580 defdec xff08 访问密码 xff1a 551685 xff09
  • 无人机飞行控制源码(android)

    旨在为大学生 航模爱好者 创客提供可二次开发的迷你四轴飞行器原型 是一个完全开源的项目 xff0c 包括源代码 xff0c 原理图 xff0c 设计思路等 可以通过它学习四轴飞行器相关知识 xff0c 也可以在上面进行二次开发 xff0c
  • 通过git下载github分支(最详细)

    文章目录 一 git下载指定分支代码到本地A 前提 xff1a B 具体步骤 xff1a 二 git下载github所有分支代码到本地具体步骤 xff1a 一 git下载指定分支代码到本地 任务一 xff1a 下载地址为https gith
  • CSS基线对齐的理解以及处理

    相信大家都会遇到同行不同盒子中文本的内容不能对齐的情况 xff0c 而不知道这是为何 xff1f 其实这是因为基线对齐的原因 什么是基线对齐 xff1f 先让我们来看一张图片 xff1a 到这里我们的疑惑是不是少了一些 xff1f 基线对齐
  • Eigen求解大型稀疏对称矩阵(Cholesky分解)

    参考自Eigen文档 代码如下 xff1a span class token macro property span class token directive hash span span class token directive ke
  • CMake的基本使用方法与install命令

    源代码 main cpp文件如下 span class token macro property span class token directive hash span span class token directive keyword
  • docker常用命令总结

    docker常用命令总结 span class token function uname span span class token parameter variable r span span class token comment 查看