首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Docker笔记8 | Docker内部以及容器之间如何管理数据?

数据卷是一个可供一个或多个容器使用的特殊目录;类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会复制到数据卷中(仅数据卷为空时会复制)。...1.2 数据卷的特性数据卷可以在容器之间共享和重用;数据卷的修改立马生效;数据卷的更新不会影响镜像;数据卷默认一直存在,即使容器被删除。...docker volume ls是查看所有的数据卷;而docker volume inspect xxx是查看指定数据卷的信息;比如:docker volume inspect my-tools[...:在用 docker run 命令的时候,使用 --mount 标记来将 数据卷 挂载到容器里;可挂挂载多个数据卷。...比如:面创建一个名为 tools的容器,并加载一个 数据卷 到容器的 /usr/share/nginx/tools 目录:docker run -d -P --name tools --mount source

53050
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Docker 教程:如何查看容器的最后 300 行实时日志

    Docker 教程:如何查看容器的最后 300 行实时日志 在日常的容器化应用管理中,日志是排查问题、监控运行状态的重要工具。...Docker 提供了简便的命令来查看容器日志,帮助开发者和运维人员快速定位问题。本篇博客将详细介绍如何使用 Docker 命令查看指定容器的最后 300 行实时日志。...查看容器日志的基本命令 使用 docker logs 命令,可以查看指定容器的日志。...是的,即使容器已经停止,仍然可以使用 docker logs 命令查看其日志内容。因为 Docker 会保留已停止容器的日志,直到容器被删除。 如何限制日志文件的大小?...Docker 允许通过日志驱动配置来限制日志文件的大小,以防止日志占用过多磁盘空间。可以在启动容器时,通过 --log-opt 选项设置日志策略。

    19800

    使用Docker安装实时数仓Postgres

    在本文中,我们将一起学习如何使用docker安装PostgreSql。 我最喜欢使用[docker]的原因就是,我们真的不必太担心构建系统或配置。...拉取Postgres镜像并创建PostgreSQL容器 创建Postgres容器的第一件事是要有一个容器镜像。让我们验证我们存储库中的所有镜像,执行以下命令:查看docker中所有镜像。...postgres 如何使用psql直接连接到数据库 现在,让我们执行psql连接到数据库。...root@67a4705c263c:/# psql -U postgres 连接到数据库的另一种方法是在连接到Postgres容器本身时使用psql。...$ docker restart 67a4705c263c 让我们链接pg查看刚才修改参数配置的结果 $ docker exec -it 67a4705c263c psql -U postgres postgres

    1.8K81

    使用 Docker 在 Windows、Mac 和 Linux 系统轻松部署 PostgreSQL 数据库

    使用 Docker 部署 PostgreSQL 数据库 摘要 本文将介绍如何使用 Docker 在不同操作系统下部署和配置 PostgreSQL 数据库。...通过使用 Docker,我们可以轻松地创建和管理 PostgreSQL 容器,极大地简化了数据库的部署和维护工作。...使用 Docker 部署 PostgreSQL 数据库可以帮助我们快速搭建开发、测试和生产环境,同时提供了可靠的隔离性和便捷的管理方式。...验证容器是否成功运行,运行以下命令查看容器状态: docker ps 连接到 PostgreSQL 容器,运行以下命令: docker exec -it postgres psql -U postgres...今日学习总结 通过本文,我们学习了如何使用 Docker 在不同操作系统下部署和配置 PostgreSQL 数据库。

    1.2K10

    如何在docker容器内的修改alist的DNS配置

    在开始今天的分享之前,我想推荐一篇非常精彩的文章:《渗透测试文件包含漏洞原理与验证(1)——文件包含概述》。文章详细解释了文件包含漏洞的原理,并讲解了如何在 Web 应用程序中发现和验证这些漏洞。...解决方案针对这个问题,我尝试了多种方法,最后找到了一个最简单,且不用影响docker运行的办法,下面是具体的操作。...首先:进入Alist 容器:docker exec -it alist /bin/bash接下来:修改 /etc/resolv.conf 文件,替换默认的 DNS 设置为目标 DNS 地址echo "nameserver...面对问题时,可以按照:先查看报错信息,再查阅相关文档的思路去分析,这样更有助于快速定位问题并找到解决方案。...需要注意的是,我这个修改dns的方法在容器重启后会导致配置被重置,因此可能需要再运行命令执行一下。不过,这种方式的优点是不会破坏容器的原有配置。

    14301

    如何在Mysql的Docker容器启动时初始化数据库

    第二种在Spring Boot客户端连接Mysql容器时初始化数据库,你可以参考使用 flyway 进行数据库版本控制一文,但是这依赖客户端的能力。能不能做到Mysql容器启动时就自己初始化数据库呢?...默认情况下它们会初始化在启动容器时声明的 MYSQL_DATABASE变量中的数据库中,例如下面的命令会初始化一个REGION_DB 数据库: $ docker run --name some-mysql...否则就会实现下面的异常: ERROR 1046 (3D000) at line 7: No database selected 那么接下来我们将利用这一机制来实现Docker容器启动时初始化数据库。...本来我没有配置第三行,结果运行容器后发现初始化数据的中文全部乱码了。所以需要在初始化数据库前修改Mysql的编码等配置,这里我顺便把时区也改为了+8:00。 第四步,复制包含数据库脚本的 ....第五步,使用 mv 命令把第四步拷贝的文件夹下的所有.sql文件复制到 /docker-entrypoint-initdb.d下,这样才能利用2.章节的机制进行初始化数据库。

    3.2K10

    群晖DS218+部署PostgreSQL(docker)

    ,镜像、文件夹、端口、参数略有不同而已,基本步骤是一样的 总的来说,今天的操作需要五步 取得docker镜像地址 准备文件夹,用于映射容器内部文件夹 创建容器前的信息汇总 在群晖docker上创建容器.../data对应宿主机的/docker/postgres 端口映射:容器的5432对应宿主机的5432 环境变量(数据库账号):POSTGRES_USER=quarkus 环境变量(数据库密码):POSTGRES_PASSWORD...=123456 环境变量(数据库名):POSTGRES_DB=quarkus_test 上述信息要提前准备好,稍后创建容器是需要逐个配置 创建容器 按照下图操作,进入创建执行镜像的容器的页面 在弹出的窗口点击下图红框中的高级设置...,点击右下角的完成即可创建容器 在容器页面中可以看到运行情况 再去File Station查看/docker/postgres文件夹,发现里面新增了大量内容,这都是容器的文件 注意,如果此时提示容器创建失败...,所以数据库的连接地址是192.168.50.43:15432 我用的是IDEA上自带的数据库工具,您可以选择自己趁手的工具做连接测试,如下图,连接成功,证明数据库在群晖上工作正常 至此,群晖上下载镜像运行容器的操作就全部完成了

    2.3K20

    linux 里面在docker 里面安装pg 数据库(亲测有效)

    以上就将tar 包变成镜像了 现在在宿主机找一个地方,存放数据库的数据 /home/softinstall/docker/pg 宿主机的这个地方,就是数据库存放东西的地方 因为我们要使用 Docker-compose...查看日志 docker logs -f pgadmin 关闭容器 docker-compose -f pg.yml down 如果第一次启动失败,要修改完配置文件之后,关闭之后重新启动 先执行...docker-compose -f pg.yml down 后执行 docker-compose -f pg.yml up -d 查看日志 docker logs -f pgadmin 进入容器内部...: docker exec -it 容器id /bin/bash 现在 就要进入这个数据库里面,使用命令进入 docker exec -it pgadmin psql -U root -d postgres...根据你提供的 Docker Compose 配置文件,你可以使用以下命令进入 PostgreSQL 容器中的数据库: docker exec -it pgadmin psql -U your_username

    1.3K10

    利用别名简化进入docker容器数据库的操作

    之前研究docker和数据库的交互,越发对docker这个东西喜爱了。因为平常偶尔会用到各类数据库测试环境验证一些想法,需要进一步简化进入到这些环境的步骤。...比如我现在有三套docker容器数据库测试环境: MySQL 5.7 MySQL 8.0 Oracle 19.3 使用docker ps查看具体信息: CONTAINER ID IMAGE...exec一条命令,进入对应容器环境的数据库SQL操作界面: docker exec -it mysql mysql -uroot -p docker exec -it mysql57 mysql -uroot...USER 'root'@'localhost' IDENTIFIED BY ''; 一切设置就绪,下次当再登录这个环境,就可以使用我们设置好的别名直接进入对应数据库的SQL操作命令行界面: [opc@...,或是搞坏了某个容器环境重新建立一个,只要名字还维持之前的,就不需要改啥配置。

    17440

    【万字长文】K8s部署前后端分离web应用避坑指南之一:从源代码到docker compose到k8s云集群(macOS-2023版)

    后端shopping-list-api再访问数据库postgres查询和更新数据。Admin通过使用pgadmin数据库管理工具来直接管理postgres数据库中的数据。...2.3.3 在本地开发环境里跑通shopping list web app启动docker desktop在容器中运行postgres数据库和能查看数据库中数据的pgadmin以便在本地开发环境里运行gradle...postgres -> 允许Save password -> 点击Save按钮 -> 点击刚刚创建的shopping-list服务器,就能在数据库出现问题时查看数据库里的数据,如图6所示。...第一个差异,是后端app所依赖的数据库主机名,不再是localhost,而是k8s云集群里postgres数据库的内部service名。...后端的CORS的配置中的allowedOrigins,该如何配前端app在k8s云集群中的对外域名和端口号?我没有为这个项目申请域名。域名也不能写成内部service名,因为内部名无法用于外部访问。

    9.4K821

    【云+社区年度征文】Deepin 安装 Postgres 及 docker 持久化

    docker exec -it postgres-server bash 此时已经进入了容器中的 postgres ,使用的是 bash 这个shell ,接下来我们使用命令行进入数据库中,并添加几条数据...,然后将容器停止运行,查看数据是否还在,如果数据还在,那么删除掉这个镜像再查看数据是否还在,如果不在则恰恰说明了容器中的数据并没有被持久化,所以我们需要配置本地的文件对应到容器中的数据存放文件,来实现持久化...实验 docker 容器的非持久化 # 我们进入 docker 中的 bash, 登录到 postgres数据库 psql # 输入这个命令会报错,说没有 root 用户,跟上面在本机上安装是一样的。...su - postgres psql # 此时可以进入到数据库,此时会提醒我们使用 help 查看帮助命令 \l # 查看当前的所有数据库 \c postgres # 进入到 postgres 数据库中...,与 docker 容器共享,并且当容器被删除,主机上的数据依旧存在,我们可以在主机中查看 /var/lib/docker/volumes/pgdata/_data 文件中的内容,我们对此目录內进行文件的操作在容器中是会同步更新的

    1.9K30

    如何连接Docker容器

    把'newpassword'替换为postgres您在上一节中设置的数据库用户密码。 注意该pg模块还可以使用环境变量来配置客户端连接。这是生产应用程序的推荐选项。...连接两个容器 在本节中,应用程序和数据库将在不同的容器中运行。您可以使用Docker Hub中的官方postgres镜像并加载之前创建的SQL。...特别说明:您不应将生产数据库数据存储在Docker容器中。应将容器视为临时实体:如果容器意外崩溃或重新启动,则数据库中的所有数据都将丢失。...新容器将自动启动postgres数据库并创建postgres用户。...注意:有关Docker Compose以及如何编写docker-compose.yml配置文件的更全面说明,请参阅完整的Docker Compose指南。

    5.7K41

    Deepin 安装Postgres

    docker exec -it postgres-server bash 此时已经进入了容器中的 postgres ,使用的是 bash 这个shell ,接下来我们使用命令行进入数据库中,并添加几条数据...,然后将容器停止运行,查看数据是否还在,如果数据还在,那么删除掉这个镜像再查看数据是否还在,如果不在则恰恰说明了容器中的数据并没有被持久化,所以我们需要配置本地的文件对应到容器中的数据存放文件,来实现持久化...实验 docker 容器的非持久化 # 我们进入 docker 中的 bash, 登录到 postgres数据库 psql # 输入这个命令会报错,说没有 root 用户,跟上面在本机上安装是一样的。...su - postgres psql # 此时可以进入到数据库,此时会提醒我们使用 help 查看帮助命令 \l # 查看当前的所有数据库 \c postgres # 进入到 postgres 数据库中...,与 docker 容器共享,并且当容器被删除,主机上的数据依旧存在,我们可以在主机中查看 /var/lib/docker/volumes/pgdata/_data 文件中的内容,我们对此目录內进行文件的操作在容器中是会同步更新的

    2.6K20

    如何使用Docker Compose

    什么是Docker Compose? 如果您的Docker应用程序包含多个容器(例如,在不同容器中运行的Web服务器和数据库),从单独的Dockerfiles构建,运行和连接容器将非常麻烦且耗时。...但是Docker Compose允许您使用YAML文件来定义多容器应用程序,从而解决了这个问题。您可以根据需要配置任意数量的容器,如何构建和连接它们以及应该存储数据的位置。...完成YAML文件后,您可以运行单个命令来构建,运行和配置所有容器。 本指南将说明docker-compose.yml文件的组织方式,并说明如何使用它来创建几个基本的应用程序配置。...数据库服务器包含postgres容器的指令volumes: - .....此外,系统上的任何意外崩溃或重新启动都将导致存储在容器中的任何数据丢失。 由于这些原因,在主机上设置数据库容器将用于存储其数据的持久卷非常重要。

    3.9K20
    领券