[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目

这篇具有很好参考价值的文章主要介绍了[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、常用docker命令

1.查询镜像

docker search

这里以mysql为例↓

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

2.获取镜像

选好要用1中哪个name的镜像后,就可以拉取了

docker pull 镜像名

3.查看本地镜像

docker image ls

4.创建、运行容器

docker run 镜像名

这会创建一个错误的容器,会在你的进程中(docker ps -a查看),因为有些配置没配置,现在把这个错误的删掉

正确的创建运行mysql镜像(以mysql为例)的方法是

  1. docker run -it --name mysqlx -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql

 

docker run 命令是 Docker 的核心命令之一,用于在 Docker 容器中运行一个新的应用程序。-it--name-p-e 和 -d 是该命令的参数,它们各自的作用如下:

  • -it: 这是两个参数的组合,-i 和 -t-i 表示“交互模式”,让容器的标准输入保持打开。-t 分配一个伪终端或终端,这通常用于使容器中运行的应用程序认为它们与一个真实的终端交互,这样可以使得例如 Bash 这样的 shell 保持前台运行。

  • --name mysqlx: 这个参数给容器指定一个名称,这里指定的名称是 mysqlx。这意味着您可以使用这个名称来引用容器,而不是使用容器的 ID。

  • -p 3306:3306: 这个参数将容器内部的端口映射到宿主机的端口。在这里,宿主机的 3306 端口被映射到容器的 3306 端口。这样做的目的是让您能够从宿主机访问容器中运行的 MySQL 服务。

  • -e MYSQL_ROOT_PASSWORD=123-e 参数用于设置环境变量。在这个例子中,它设置了 MYSQL_ROOT_PASSWORD 环境变量的值为 123。这是 MySQL 容器启动时必需的,因为它设置了 root 用户的密码。

  • -d: 这个参数意味着“分离模式”,它会让 Docker 容器在后台运行。这样您就可以继续在同一终端中执行其他命令。

  • mysql: 这是要运行的 Docker 镜像的名称。在这个例子中,它会从 Docker Hub 下载 MySQL 的官方镜像(如果本地没有的话),并运行它。

5.查看进程 

docker ps 活着的进程

docker ps -a 查询所有进程

6.查询日志

docker logs 容器名称

7.删除容器

docker rm 容器名称/容器ID

8.停止/运行/重启 正在运行的容器

docker stop/start/restart 容器名

9.进入容器

docker exec

以上面创建的容器(mysqlx)为例:

docker exec -it mysqlx bash

mysql -uroot -p***       (*user是root,password是***)

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

>docker exec -it mysqlx bash  的解释如下

  • -it: 这是两个参数的组合,-i 和 -t-i 表示“交互模式”,让容器的标准输入保持打开。-t 分配一个伪终端或终端,这通常用于使容器中运行的命令或程序认为它们与一个真实的终端交互,这样可以使得例如 Bash 这样的 shell 保持前台运行。

  • mysqlx: 这是容器的名称。在前面的 docker run 命令中,我们使用 --name mysqlx 为容器指定了名称。现在我们使用这个名称来引用该容器。

  • bash: 这是要在容器内执行的命令。在这个例子中,我们想要启动 bash shell,以便在容器内部进行交互操作。

创建spring boot需要的数据库(也可以直接用宿主机的idea连接容器再创建) 

这里如果报错就要开启下linux的3306端口

  1. firewall-cmd --add-port=3306/tcp --permanent
  2. firewall-cmd --reload

二、容器挂载 

我们此时的mysql服务是依靠mysqlx容器运行的,这就有一个很大的问题:如果容器被删除了,那数据也就没了,丢失数据对程序员来说是非常恐怖的事情,因此我们需要进行挂载

首先退出mysql服务,再退出容器

\q

exit

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

1.创建环境

然后创建如下文件夹路径

  1. [root@localhost software]# mkdir mysql
  2. [root@localhost software]# cd mysql
  3. [root@localhost mysql]# mkdir 3306
  4. [root@localhost mysql]# cd 3306/
  5. [root@localhost 3306]# mkdir data
  6. [root@localhost 3306]# mkdir conf
  7. [root@localhost 3306]# mkdir mysql-files

然后将数据库配置文件上传到conf文件夹(my.cnf)

2.映射

然后就是重中之重,映射

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

这里重新创建运行一个新的mysql容器,记得把之前的删了

  1. docker run -it \
  2. --name mysql \
  3. -p 3306:3306 \
  4. --privileged \
  5. -e MYSQL_ROOT_PASSWORD=123 \
  6. --network wn_docker_net \
  7. --ip 172.18.12.2 \
  8. -v /etc/localtime:/etc/localtime \
  9. -v /usr/local/software/mysql/3306/conf/my.cnf:/etc/mysql/my.cnf \
  10. -v /usr/local/software/mysql/3306/data:/var/lib/mysql \
  11. -v /usr/local/software/mysql/3306/mysql-files:/var/lib/mysql-files \
  12. -d mysql

每一行结尾的 \表示换行

3.查看容器详情

docker inspect 容器名称

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

这样可读性有点差,可以考虑重定向文件

①追加 >>

  1. docker inpspect mysql >> mysql.txt

之后会在目标路径生成一个txt,你可以把它下载到windows再用记事本等工具打开查看

pwd查看当前位置

② 覆盖 >

  1. docker inpspect mysql > nmysql.txt

管道+过滤: | grep

  1. docker inspect mysql |grep IPA
  2. "SecondaryIPAddresses": null,
  3. "IPAddress": "172.17.0.2",
  4. "IPAMConfig": null,
  5. "IPAddress": "172.17.0.2",

三、常见命令总结

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

四、docker配置

1.设置docker的静态ip

docker容器的ip地址在每次启动后启动顺序设置ip地址,为解决ip地址变动的问题,我们有必要设置docker内部ip地址固定。

2.创建自定义网络(network)

docker network create —driver bridge —subnet=自定义网络ip/16 —gateway=网关值 自定义网络名称

①默认docker网络

  1. [root@localhost ~]# docker network ls

②自定义网络后

docker network create —driver bridge —subnet=172.18.12.0/16 —gateway=172.18.1.1 wn_docker_net

五、Dockerfile

1.编辑docker.service

vim /lib/systemd/system/docker.service

打开后不要乱动任何东西!改了哪个地方又找不到的话,这个容器就废了

修改ExecStart的内容:
ExecStart=/usr/bin/dockerd -H fd:// —containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

2.重新加载docker

重新加载docker的daemon

  1. systemctl daemon-reload

重新启动docker

  1. systemctl restart docker.service

上面两步建议不要跳过第一步吧,虽然没试过,但要出错就比较麻烦

3.验证配置

netstat -nplt|grep 2375

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

4.开放2375端口

firewall-cmd --zone=public --add-port=2375/tcp --permanent

firewall-cmd --reload

5.下载java镜像

项目中要依赖java,需要下载java的镜像。

下载java版本 :anapsix/alpine-java

六、IDEA配置docker插件

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

别急着运行,还有配置

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

七、运行docker服务并访问

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker

游览器访问查看效果:

[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目,spring boot,后端,java,docker文章来源地址https://www.toymoban.com/news/detail-788347.html

到了这里,关于[Dokcer] Dokcer常用命令解析,通过dockerfile运行spring boot项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker安装启动、常用命令、应用部署、迁移备份、Dockerfile、Docker私有仓库

    目录 1.Docker安装与启动 1.1 安装Docker  1.2 设置ustc的镜像  1.3 Docker的启动与停止 2.常用命令 2.1 镜像相关命令 2.1.1 查看镜像 2.1.2 搜索镜像  2.1.3 拉取镜像 2.1.4 删除镜像 2.2 容器相关命令 2.2.1 查看容器 2.2.2 创建与启动容器 2.2.3 停止与启动容器 2.2.4 文件拷贝 2.2.5 目录挂载

    2024年01月22日
    浏览(45)
  • 如何在 Linux 命令行下玩转 Docker——如何使用 Dockerfile 来构建和运行容器镜像

    作者:禅与计算机程序设计艺术 Docker 是一款开源的容器化技术,它利用 Linux 内核的容器特性,将应用部署到独立的进程环境中。基于容器技术可以极大地提高开发者和运维人员的效率,降低部署、测试和生产环节中的成本,有效地实现云计算资源的弹性伸缩。 本文主要介绍

    2024年02月07日
    浏览(41)
  • 中兴PTN常用命令解析

    常用命令说明;1.清空原有配置:;使用showrunning-config命令检查;清空配置的步骤如下:2.查看各个vlan与端口之;命令:showvlan;用途:查看我们建立的网管vlan通道是否已和端口;说明:;假如,我们建立的网管vlan通道为4093,且将;3.查看各接口VLAN与IP的对应信息;命令:

    2024年02月10日
    浏览(17)
  • 【Powershell 】(Windows下)常用命令 | 命令别名 | 运行Windows命令行工具 | 运行用户程序(vim、gcc、gdb)

    微软官方Powershell文档:https://learn.microsoft.com/zh-cn/powershell/ 命令详细说明,在PDF的最后面: PowerShell 是一种用于自动化的 命令行 shell 和 脚本语言 。 Wikipedia 包含以下关于 shell 的描述: shell 通过提示用户输入、解释其输入,然后处理基础操作系统的输出来管理用户系统交互(

    2024年02月13日
    浏览(34)
  • Python UI自动化 —— pytest常用运行参数解析、pytest执行顺序解析

    -v 用于显示每个测试函数的执行结果 -q 只显示整体测试结果 -s 用于显示测试函数中print()函数输出 -x 在第一个错误或失败的测试中立即退出 -m 只运行带有装饰器配置的测试用例 -k 通过表达式运行指定的测试用例 -h 帮助 首先来看什么参数都没加的运行情况 -v 用于显示每个测

    2024年02月09日
    浏览(33)
  • FreeRTOS通过消息队列实现串口命令解析(串口中断)

    作者:Jack_G 时间:2023.08.08 版本:V1.0 上次修改时间: 环境: quad quad quad quad STM32Cube MX V6.8.1 quad quad quad quad STM32CubeH7 Firmware Package V1.11.0 / 04-Nov-2022 quad quad quad quad Keil: V5.29 正常配置,不过 需要勾选全局中断 ,后续在接收中断中将接收到的数据送入消息队列。 在usa

    2024年02月14日
    浏览(23)
  • es集群问题排查、常用命令、参数解析

    一、常用命令 二、案例分析 2.1集群变红 症状:集群变红 分析:通过Allocation Explain API 发现创建索引失败,因为无法找到标记了相应box type的节点 解决:删除索引,集群变绿,重新创建索引,并且指定正确的routing box type,索引创建成功集群保持绿色状态 2.2集群变黄 症状:集

    2024年02月12日
    浏览(24)
  • 服务器运行情况及线上排查问题常用命令

    部分内容来自转载,转载地址:https://blog.51cto.com/u_16213694/7153728 1.1 输出说明 输出可以分为以下两部分 1.1.1 系统概览 以下是几个需要注意的参数 load average 系统负载,即任务队列的平均长度。三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 这里具体需要关注的还是

    2024年03月14日
    浏览(32)
  • Spring data JPA常用命令

    Spring Data JPA是Spring框架的一部分,它提供了一个简化的方式来与关系型数据库进行交互。JPA代表Java持久化API,它是Java EE规范中定义的一种对象关系映射(ORM)标准。Spring Data JPA在JPA的基础上提供了更高级的抽象,使得开发人员能够更轻松地进行数据库操作。 使用Spring Data

    2024年02月15日
    浏览(44)
  • Spring很常用的@Conditional注解的使用场景和源码解析

    你好,我是刘牌! 今天要分享的是Spring的注解@Conditional,@Conditional是一个条件注解,它的作用是判断Bean是否满足条件,如果满足条件,则将Bean注册进IOC中,如果不满足条件,则不进行注册,这个注解在SpringBoot中衍生出很多注解,比如 @ConditionalOnProperty , @ConditionalOnBean ,

    2023年04月14日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包