docker操作

2023-11-15

一、docker常用操作

1.docker基本命令

批注:

第9条.若不写版本号,默认使用lastest(最新版本),建议拉取镜像带上版本号

第10条:其中q是当下id队列的意思,比如查看所有的容器的id:docker ps -a -q

docker基本命令
1.查看docker版本 docker -v
2.启动docker systemctl start docker
3.停止docker systemctl stop docker
4.重启docker systemctl restart docker
5.查看docker状态 systemctl status docker
6.开机启动 systemctl enable docker
7.列出本地镜像 docker images
8.从网络搜索镜像 docker search 镜像名
9.拉取镜像(centos7) docker pull centos:7
10.删除镜像(tag:版本) docker rmi 名称:tag
11.获取所有镜像id docker images -q

2.容器基本操作

批注:

第13条: 这个可以组合 比如停止所有容器(`是esc下的键盘符) docker stop `docker ps -a -q`

容器基本操作
1.查看正在运行的容器 docker ps
2.查所有容器 docker ps -a
3.查最后一次运行的容器 docker ps -l
4.查看停止的容器 docker ps -f status=exited
5.停止运行的容器 docker stop mycentos2
6.启动已运行过的容器 docker start mycentos2
7.重启 docker restart 容器名|或容器id
8.文件拷贝(外部拷贝容器内) docker cp 需要拷贝的本地文件或目录 容器名称:容器目录
9.从容器拷出来 docker cp 容器名称:容器目录 本地的文件或目录
10.查看容器ip docker inspect mycentos2
11.删除容器 docker rm 容器名/或id
12.查容器日志 docker logs 容器名|容器id
13.查所有容器id docker ps -a -q

二、docker创建启动容器

创建容器命令:docker run(创建且运行 create+st)(create)

1.参数说明

参数说明
-i:表示运行容器
-t:分配一个伪终端,交互式
--name:为创建的容器命名
-v:示目录映射关系(前者宿主机目录,后者映射到宿主机上的目录)

-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行

(这样创建容器后不会自动登<br />录容器,如果只加-i -t两个参数,创建后就会自动进去容器)

-p(port):表示端口映射,前者是宿主机端口,后者是容器内的映射端口。

可以使用多个-p做多个端口映射

--restart always:容器会随着docker的启动而启动

2.创建交互式容器(不建议使用,退出当前容器则停止)

批注: /bin/bash:表示进入这个容器,即进入centos,mycentos是自己命名的容器名称

创建交互式容器(不建议使用,退出当前容器则停止)
docker run -it --name=mycentos centos:7 /bin/bash

3.创建守护式容器(建议使用,退出容器仍运行)

创建守护式容器(建议使用,退出容器仍运行)
docker run -di --name=mycentos2 centos:7

三、docker目录挂载

创建容器 添加-v参数 后边为   宿主机目录:容器目录

 目录挂载:将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器里所对应的目录。

因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数--privileged=true来解决挂载的目录没有权限的问题。

创建容器 并挂载宿主机目录 到容器中的目录下:

docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7

共享的是多级的目录,可能会出现权限不足
docker run -di --privileged=true -v /root/test:/usr/local/test --name=mycentos4 centos:7

四、docker常用部署

1.mysql部署

批注

第2条: 其中-p 就是映射端口,把33306(容器外部宿主机端口)和mysql的3306端口映射(33306自己命名,失败可能是端口冲突),-e 代表给容器添加环境变量,123456为自定义密码

MySQL部署
1. 拉取镜像 docker pull mysql:5.7
2. 创建mysql容器

docker run -di --name=mysql -p 33306:3306 -e MYSQL_ROOT_PASSWORD

=123456 mysql:5.7

3. 进入容器 docker exec -it mysql /bin/bash
4. 登陆mysql mysql -uroot -p123456
5. 授权允许远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH

GRANT OPTION;

2.tomcat部署

tomcat部署
1. 拉取tomcat镜像 docker pull tomcat:7-jre8
2. 创建tomcat容器 docker run -di --name=pinyougou_tomcat -p 9100:8080 tomcat:7-jre8
3. 测试tomcat 浏览器地址栏输入:http://ip地址:9100

3.nginx部署

Nginx部署
1. 拉取Nginx镜像 docker pull nginx
2. 创建Nginx容器 docker run -di --name=pinyougou_nginx -p 80:80  nginx 
3. 测试Nginx 浏览器地址栏输入:http://ip地址

4.redis部署

批注

第3条:本地安装一个redis的客户端 连接即可, 在redis的目录下先打开cmd命令窗口

Redis部署
1. 拉取Redis镜像 docker pull redis
2. 创建Redis容器 docker run -di --name=pinyougou_redis -p 6379:6379 redis
3. 客户端测试() redis-cli.exe -h 192.168.137.133 -p 16379

五、备份与迁移

批注

第1条:nginx是容器名称,mynginx是新的镜像名称(自定义名称)。此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

第2条:-o 输出到的文件。执行后,运行ls命令即可看到打成的tar包.

备份迁移、springboot微服务部署建议使用dockerfile(自行学习)
1.容器保存为镜像 docker commit nginx mynginx(docker commit 容器名称 自定义镜像名称:Tag)
2.镜像备份 docker save -o mynginx.tar mynginx:Tag(docker save -o 要保存的文件名.tar 镜像名称:版本|镜像id)
3.镜像恢复与迁移 docker load -i mynginx.tar(-i表示输入的文件,即加载此镜像)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

docker操作 的相关文章

  • Java:从元素创建 DOM 元素,而不是文档

    如您所知 在 Java 中创建 Dom 元素的正确方法是执行以下操作 import org w3c dom Document import org w3c dom Element Document d Element e e d creat
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • spring - 强制 @Autowired 字段的 cglib 代理

    我有混合堆栈 EJB 和 Spring 为了将 Spring 自动装配到 EJB 我使用SpringBeanAutowiringInterceptor 不确定这是否会影响我遇到的问题 在尝试通过以下方式自动装配 bean 时 Scope p
  • 使用 Java 在浏览器中下载 CSV 文件

    我正在尝试在 Web 应用程序上添加一个按钮 单击该按钮会下载一个 CSV 文件 该文件很小 大小仅约 4KB 我已经制作了按钮并附加了一个侦听器 文件也准备好了 我现在唯一需要做的就是创建单击按钮时下载 csv 文件的实际事件 假设 fi
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的
  • 如何在java中使jpeg无损?

    有没有人可以告诉我如何使用编写 jpeg 文件losslessjava中的压缩 我使用下面的代码读取字节来编辑字节 WritableRaster raster image getRaster DataBufferByte buffer Da
  • 具有多种值类型的 Java 枚举

    基本上我所做的是为国家编写一个枚举 我希望不仅能够像国家一样访问它们 而且还能够访问它们的缩写以及它们是否是原始殖民地 public enum States MASSACHUSETTS Massachusetts MA true MICHI
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 让JScrollPane控制多个组件

    对于我的应用程序 我正在设计一个脚本编辑器 目前我有一个JPanel其中包含另一个JPanel保存行号 位于左侧 以及JTextArea用于允许用户输入代码 位于右侧 目前 我已经实施了JScrollPane on the JTextAre
  • 如何使用 Mockito 和 Junit 模拟 ZonedDateTime

    我需要模拟一个ZonedDateTime ofInstant 方法 我知道SO中有很多建议 但对于我的具体问题 到目前为止我还没有找到任何简单的解决办法 这是我的代码 public ZonedDateTime myMethodToTest
  • tar.gz 和 tgz 是同一个东西吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我创建了 tgz 文件tar czvf filecommand then 我最终得到了一个 tgz 文件 我想知道它和tar gz 之间的
  • 将 RSA 密钥从 BigIntegers 转换为SubjectPublicKeyInfo 形式

    WARNING 最初的问题是关于 PKCS 1 编码密钥 而问题中的实际示例需要SubjectPublicKeyInfo X 509 编码密钥 我目前正致力于在 java 中从头开始实现 RSA 算法 特别是密钥生成方面 现在我的代码可以给
  • 在 Selenium WebDriver 上如何从 Span 标签获取文本

    在 Selenium Webdriver 上 如何从 span 标记检索文本并打印 我需要提取文本UPS Overnight Free HTML代码如下 div id customSelect 3 class select wrapper
  • 如何避免应用程序停止后 docker 容器停止

    有一个带有 Postgres 服务器的 docker 容器 postgres 停止或崩溃 无关紧要 我需要检查一些环境变量和一些文件的状态 默认情况下 容器在应用程序完成后停止 我知道有一个选项可以更改 dockerfile 中的默认行为
  • 在Linux中创建可执行文件

    我计划做的一件事是编写 非常简单的 Perl 脚本 并且我希望能够在不从终端显式调用 Perl 的情况下运行它们 我明白 要做到这一点 我需要授予他们执行权限 使用 chmod 执行此操作非常简单 但它似乎也是一个稍微费力的额外步骤 我想要
  • 如何将实例变量传递到 Quartz 作业中?

    我想知道如何在 Quartz 中外部传递实例变量 下面是我想写的伪代码 如何将 externalInstance 传递到此作业中 public class SimpleJob implements Job Override public v
  • Spring Boot MSSQL Kerberos 身份验证

    目前在我的春季靴子中application properties文件中 我指定以下行来连接到 MSSql 服务器 spring datasource url jdbc sqlserver localhost databaseName spr
  • ARM 的内核 Oops 页面错误错误代码

    Oops 之后的错误代码给出了有关 ARM EX 中的恐慌的信息 Oops 17 1 PREEMPT SMP在这种情况下 17 给出了信息 在 x86 中它代表 bit 0 0 no page found 1 protection faul
  • 使用 eclipse IDE 配置 angularjs

    我想开始使用 AngularJs 和 Java Spring 进行开发 我使用 Eclipse 作为 IDE 我想配置我的 Eclipse 以使这些框架无缝工作 我知道我可能要求太多 但相信我 我已经做了很多研究 你们是我最后的选择 任何帮
  • 尝试使用带有有效购买令牌的 Java Google Play Developer API v3 检索应用内购买信息时出现错误请求(无效值)

    当使用 Java Google Play Developer API 版本 3 并请求有效购买令牌的购买信息时 我收到以下异常 API 调用返回 400 Bad Request 响应以及以下消息 code 400 errors domain

随机推荐

  • 100位特邀用户亲测GPT-4

    在首期Beezy4 0体验官优秀案例集中 部分用户展示了GPT 3 5和GPT 4 0在小红书文案 创意脚本生成上的应用对比 今天我们将选取其中的典型案例进行分析 看一下GPT 3 5和GPT 4 0在文案写作领域的表现有何不同 优秀案例
  • 全球哪些顶级的公司在使用Python?Python的性能如何?

    目前有超过500种编程语言 每天仍在新增更多新语言 虽然其中有大部分重叠的语言以及大量仅用于理论和试验的编程语言 但一个人的时间和精力有限 你只能挑选几种甚至一种深入学习 没有基础的小白该从哪下手呢 不如就选python吧 我们主张从pyt
  • ckeditor4 上传图片压缩 图片压缩后上传 上传文件前处理 上传图片之前压缩图片

    网上搜不到合适的例子 所以写了一个 感觉应该有一些参考价值 核心就是ckeditor中的一个属性 fileUploadRequest 下面看例子 const questionBodyEditor CKEDITOR replace quest
  • 【R语言】实验一 R 语言数据结构、数据导入与数据处理

    系列文章目录 实验一 R 语言数据结构 数据导入与数据处理 实验二 基本数据处理 实验三 数据可视化 实验四 数据分析 实验五 综合应用 实验数据 实验数据下载 1 algae 数据集 season size speed mxPH mnO2
  • selenium 自动化测试工具(七)python日志logging基本用法、高级用法

    设置logging import logging import time import os class LoggingMethod def getlogger self logger logging getLogger logger se
  • 使用Git上传代码到GitHub

    首先需要一个github账号 所有还没有的话先去注册吧 https github com 使用git需要先安装git工具 这里给出下载地址 下载后一路直接安装即可 https git for windows github io 1 进入Gi
  • LeetCode 1 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

    LeetCode 1 给定一个整数数组 nums 和一个目标值 target 请你在该数组中找出和为目标值的那 两个 整数 并返回他们的数组下标 你可以假设每种输入只会对应一个答案 但是 你不能重复利用这个数组中同样的元素 示例 给定 nu
  • 第十四届蓝桥杯第三期模拟赛(python版)

    总体难度不大 正赛肯定比这难 本人答案代码样例都能过 前五个填空题正确性应该都问题不大 有更好方法欢迎放出来 大题但可能有一些细节没有考虑到 时间复杂度这一方面是都考虑了的 大题仅供参考 有更好的方法的 欢迎讨论 目录 问题1 问题2 问题
  • 项目总结:如何开发出好的项目

    每件事都需要考虑它的价值 然后决定投入 1 项目如果要做的好 必须要有丰富的文档支持 文档的意义在于只有形成文档 才能更好的去沟通和判断 对有可能出现问题的地方提前预警 另外 任何一个系统不只有开发成本 运维成本有时会超出我们的想象 即便一
  • 卷积神经网络在自然语言处理中的应用

    卷积神经网络最典型的应用领域是计算机视觉 卷积神经网络在图像分类中取得了重大突破 典型应用有facebook的图像自动标注 还有自动驾驶等 卷积神经网络也可以用于自然语言处理 由于卷积神经网络在计算机视觉中的应用最广 首先阐述这个 然后再介
  • 点、线、面生成mvt(MapBox Vector Tile)格式的瓦片总结

    矢量切片可以以三种形式呈现 GeoJSON TopoJSON 和 MapBox Vector Tile mvt 矢量切片技术继承了矢量数据和切片地图的双重优势 有以下优点 瓦片以mvt格式的存储 是以每一个瓦片号为基准进行存储的 大小都是2
  • Basic Level 1013 数素数 (20分)

    题目 令 P i表示第 i 个素数 现任给两个正整数 M N 10 4 请输出 P M到 P N的所有素数 输入格式 输入在一行中给出 M 和 N 其间以空格分隔 输出格式 输出从 P M到 PN的所有素数 每 10 个数字占 1 行 其间
  • Java将数据导出为xml格式

    需求 前后端分离项目 Springboot项目 需要将学生 信息导出为xml文件 StudentController java GetMapping getXml public void studentXml HttpServletRequ
  • linux spi测试程序,spidev测试方法 /how to test spidev

    在设备树中配置spidev 首先需要在设备树配置好spi设备 可参考如下配置 ecspi3 pinctrl names default pinctrl 0 cs gpios dmas dma names rx tx status okay
  • Excel分段线性插值函数实现

    问题 已知 X和Y有下表的对应关系 当一个新的4
  • 高级FPGA设计技巧!多时钟域和异步信号处理解决方案

    有一个有趣的现象 众多数字设计特别是与FPGA设计相关的教科书都特别强调整个设计最好采用唯一的时钟域 换句话说 只有一个独立的网络可以驱动一个设计中所有触发器的时钟端口 虽然这样可以简化时序分析以及减少很多与多时钟域有关的问题 但是由于FP
  • python 连接MySQL数据库

    方式一 pymysql 下载mysql驱动模块 pip install pymysql python 链接mysql示例 导入mysql连接驱动模块 import pymysql host ip地址 port 端口号 user 数据库用户名
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 链表算法的一些领会

    有些题目是一节一节的处理链表 比如reverseBetween ListNode head int m int swapPairs ListNode head reverseInKGroup ListNode head int k 主要考虑
  • docker操作

    一 docker常用操作 1 docker基本命令 批注 第9条 若不写版本号 默认使用lastest 最新版本 建议拉取镜像带上版本号 第10条 其中q是当下id队列的意思 比如查看所有的容器的id docker ps a q docke