首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

如何使用Docker Compose

您可以更改默认网络的设置,连接到外部网络或定义特定于应用程序的网络。 卷 在主机上安装可由容器使用的链接路径。 本指南的大部分内容将侧重于使用该services部分设置容器。...依赖于取决于 将服务设置为当前块定义容器的依赖项 港口 以下列方式将端口从容器映射到主机: host:container 链接 通过在此处指定其名称,将此服务链接到Docker Compose文件中的任何其他服务...数据库服务器包含postgres容器的指令volumes: - ...../dumps:/tmp和指令:并且ports:-"5432:5432",第一个指令将containerd /dumps文件夹映射到我们的本地/tmp文件夹。第二个指令将容器端口映射到本地主机的端口。...此外,系统上的任何意外崩溃或重新启动都将导致存储在容器中的任何数据丢失。 由于这些原因,在主机上设置数据库容器将用于存储其数据的持久卷非常重要。

3.8K20

Docker端口映射与容器互联

,那么本篇文章就来学习Docker端口映射与容器互联相关的知识,注意本文所提到的宿主机是指VMware虚拟机,而非本地的Windows系统主机。...端口映射 Docker除了通过网络访问外,还提供了其他两个非常方便的功能来满足服务访问的基本需求,一是允许映射容器内应用的服务端口到本地宿主机端口;二是使用互联机制来实现多个容器间通过容器名来快速访问。...第一步,创建一个别名为db的数据库容器: [root@envythink ~]# docker run -d --name db training/postgres 第二步,删除之前创建的别名为eyou...的容器: [root@envythink ~]# docker rm -f eyou 第三步,创建一个新的别名为eyou的容器,并将它连接到db容器: [root@envythink ~]# docker.../db 由查看结果可以看到自定义别名的容器db和eyou,其中db容器的names列中有db也有eyou/db,这就表示eyou容器接到db容器,eyou容器将被允许访问db容器的信息。

6.3K10

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

以上就将tar 包变成镜像了 现在在宿主机找一个地方,存放数据库的数据 /home/softinstall/docker/pg 宿主机的这个地方,就是数据库存放东西的地方 因为我们要使用 Docker-compose...去管理容器,所以要使用Docker-compose 的东西; 我们需要找一个位置,专门放各个yml 文件 现在有一个关于pg的yml 编排文件,就是使用他去管理 找到pg 数据库的镜像名称 kartoza...: 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...-it 参数允许你与容器中的终端进行交互,psql -U your_username -d your_database 是要在容器中执行的命令,用于连接到指定的数据库

40210

意林读者第四期

Docker端口映射与容器互联 除了通过网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求:一个是允许映射容器内应用的服务端口到本地宿主主机;另一个是互联机制实现多个容器间通过容器名来快速访问...training/webapp python 0.0.0.0:49155->/tcp # 此时,可以使用docker ps看到,本地主机的49155被映射到了容器的5000...python app.py 4.映射到指定地址的任意端口 使用IP::ContainerPort绑定localhost的任意端口到容器的5000端口,本地主机会自动分配一个端口: docker run...创建一个新的数据库容器docker run -d --name db training/postgres 删除之前创建的web容器docker rm -f web 创建一个新的web容器,并将它连接到...web容器接到db容器允许web容器访问db容器的信息。 Docker相当于在两个互联的容器之间创建了一个虚机通道,而且不用映射它们的端口到宿主主机上。

37840

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

docker exec -it postgres-server bash 此时已经进入了容器中的 postgres ,使用的是 bash 这个shell ,接下来我们使用命令行进入数据库中,并添加几条数据...实验 docker 容器的非持久化 # 我们进入 docker 中的 bash, 登录到 postgres数据库 psql # 输入这个命令会报错,说没有 root 用户,跟上面在本机上安装是一样的。...进行持久化 持久化数据也就是使用本地的一个目录来存放容器中的数据,因为数据在本地,所以容器的删除不会影响本地的数据,但是如果本地文件删除掉那就没办法了,所以对于重要数据要定时进行备份。...创建本地docker volume create pgdata 启动容器 docker run -d --name postgres-server -v pgdata:/var/lib/postgresql...,与 docker 容器共享,并且当容器被删除,主机上的数据依旧存在,我们可以在主机中查看 /var/lib/docker/volumes/pgdata/_data 文件中的内容,我们对此目录內进行文件的操作在容器中是会同步更新的

1.8K30

使用Docker部署一个使用PostgreSQL数据库的Springboot项目

VOLUME /tmp:(可选)此指令指定/tmpdocker 容器中的目录将用作存储临时文件和缓存数据的卷...以在 docker 容器主机文件系统之间或容器之间共享它。...我们可以通过运行命令来简单地检查是否存在docker images: 5 - 创建容器 在本节中,我们将通过创建应用程序的容器并将其与PostgreSQL数据库容器链接来将所有内容放在一起,因为我们的应用程序需要数据库...Docker Compose允许我们定义和配置我们所有的应用程序容器,将它们链接在一起并在单个文件中指定它们之间的依赖关系:docker-compose.yml. version: "3.8" services...对于我们的 Postgres 数据库,该environment选项可能因一个容器而异,我们需要一个数据库用户、密码和名称…… 该ports选项将容器的内部端口 (左侧 5432: ) 映射到主机端口5432...psql-db这允许在同一主机上运行的其他服务使用主机的 IP 地址和端口连接到容器中的 Postgres 数据库5432。

26830

Deepin 安装Postgres

docker exec -it postgres-server bash 此时已经进入了容器中的 postgres ,使用的是 bash 这个shell ,接下来我们使用命令行进入数据库中,并添加几条数据...实验 docker 容器的非持久化 # 我们进入 docker 中的 bash, 登录到 postgres数据库 psql # 输入这个命令会报错,说没有 root 用户,跟上面在本机上安装是一样的。...进行持久化 持久化数据也就是使用本地的一个目录来存放容器中的数据,因为数据在本地,所以容器的删除不会影响本地的数据,但是如果本地文件删除掉那就没办法了,所以对于重要数据要定时进行备份。...创建本地docker volume create pgdata 启动容器 docker run -d --name postgres-server -v pgdata:/var/lib/postgresql...,与 docker 容器共享,并且当容器被删除,主机上的数据依旧存在,我们可以在主机中查看 /var/lib/docker/volumes/pgdata/_data 文件中的内容,我们对此目录內进行文件的操作在容器中是会同步更新的

2.6K20

使用 bitnamipostgresql-repmgr 镜像快速设置 PostgreSQL HA

接到其他容器 使用 Docker 容器网络,您的应用程序容器可以轻松访问在容器内运行的 PostgreSQL 服务器,反之亦然。...https://docs.docker.com/engine/userguide/networking/ 连接到同一网络的容器可以使用容器名称作为主机名相互通信。...,使用主机名 pg-0 连接到 PostgreSQL 服务器 使用以下命令启动容器: $ docker-compose up -d 配置 初始化一个新实例 第一次执行容器时,它将执行位于 /docker-entrypoint-initdb.d...postgres 和 repmgr 用户都是超级用户,并且对 PostgreSQL 数据库具有完全的管理访问权限。...如果要为 postgres 用户设置非特权用户和密码,请参阅在首次运行时创建数据库用户。

1.7K30

Docker数据资源管理与网络

# 我们从下面的hosts文件看到,web容器接到db容器,web容器允许访问db容器的信息. docker exec -it web bash cat /etc/hosts 127.0.0.1...在两个互联的容器创建了一个安全隧道,而且不用映射他们的端口到宿主主机上, # 在启动mariadb的时候并没有使用-p和-P标记,从而避免了暴露数据库端口到外部网络上...这对接口一端在容器内,即 eth0 ;另一端在本地并被挂载到docker0网桥,名称以 veth开头(例如 vethAQI2QT)。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。...容器之间访问 容器之间相互访问,需要两方面的支持 容器的网络拓扑是否已经失联,默认情况下,所有容器都会被连接到docker0网桥上. 本地系统的防火墙软件iptables是否允许通过....外部访问容器实现 容器允许外部访问可以通过-P或者-p来启用,但不管哪种办法,其实是在本地的iptable的nat表添加相应的规则。

55050

玩转服务器-博客两件套之绝佳的Markdown写作平台CodiMD

这里以宝塔为例直接添加一个数据库。 请注意允许所有ip访问该数据库,因为docker容器访问不属于本地ip访问。...:change_password@database/codimd # CMD_DB_URL 格式为 # 数据库连接协议://用户名:密码@数据库主机:数据库端口/数据库名...#这里我的MySQL是在docker的宿主机本地安装的,但是主机ip没有写localhost,因为localhost在docker容器里面会解释成容器本身的ip,这样就连不上安装在宿主机的...MySQL,所以我使用:ip addr show docker0,查看了宿主机的ip为172.17.0.1,然后使用宿主机ip代替localhost,就达到容器内部访问外部的MySQL数据库的目的...ps命令查看codimd是否已经运行 [c7df6f135d59f.png] 查看运行日志:执行以下命令 docker logs -f -t --tail 行数 容器名 通过上面的docker ps命令中看到容器名为

10K64

云原生微服务网关 Kong 和Kong 管理UI Konga快速安装攻略

3.1 构建Kong的容器网络 首先我们创建一个Docker自定义网络,以允许容器相互发现和通信。...如果你使用的是PostgreSQL,想挂载卷持久化数据到宿主机。通过 -v 命令是不好用的。这里推荐你使用 docker volume create 命令来创建一个挂载。...=kong" \ postgres:9.6 3.3 初始化或者迁移数据库 我们使用docker run --rm来初始化数据库,该命令执行后会退出容器而保留内部的数据卷(volume...3.4 启动Kong容器 3.3步骤完成初始化或者迁移数据库后,我们就可以启动一个连接到数据库容器的Kong容器,请务必保证你的数据库容器启动状态,同时检查所有的环境参数 -e 是否是你定义的环境。...安装步骤同样遵循配置数据库,初始化数据库,启动容器的流程。 4.2.1 Konga数据库容器 上面在4.1特性介绍中我们介绍了Konga支持的数据库类型。这里我们依然使用PostgreSQL。

1.9K10

《ASP.NET Core 微服务实战》-- 读书笔记(第5章)

实例 然后,让集成测试在这个新实例上运行,执行迁移以配置数据库结构 每次提交代码时,整个过程既要能在本地、团队成员的机器上运行,又要能在云上自动运行 这就是我喜欢搭配使用 Wercker 和 Docker...为名称启动一个 PostgresDocker 镜像 为验证能够成功连接到 Postgres,可运行下面的 Docker 命令来启动 psql $ docker run -it --rm --link...;Database=locationservice;Port=5432" $ dotnet ef database update 我们期望位置服务能够访问到自己的容器之外,并进入 Postgres 容器之内...容器链接能够实现这项能力,不过需要在启动 Docker 镜像之前就完成环境变量的修改 $ export POSTGRES__CSTR=“Host=localhost;Username=integrator...使用 psotgres 作为主机名链接 Postgres 容器后,位置服务就应该能够正确连接到数据库了 为亲自验证结果,可以提交一个位置记录 $ curl -H "Content-Type:application

61620

从入门到跑路之Kubernetes(二)

实际上,同一台机器上的所以容器,都共享主机操作系统的内核!! 同时Docker镜像又是由多个文件系统叠加而成的(联合挂载),每个层仅包含了前一层的差异部分。...Volume机制,允许我们将宿主机上指定的目录或文件,挂载到容器里面进行读取和修改。...把宿主机目录挂载进容器 指定宿主机目录 $ docker run –v /home:/test …(也可以在Dockerfile里面定义VOLUME来实现挂载) 把宿主机/home目录挂载到容器的/test...以持久化postgres数据库为例 $ docker run --name dbdata postgres echo "Data-only container for postgres" 该命令将会创建一个已经包含在...$ docker run -d --volumes-from dbdata --name db1 postgres 运行真正的postgres数据库容器,并且共享dbdata的Volume。

45041

15 分钟掌握 15 个 Docker 小窍门

哈哈,其实,Docker容器确实有自己的IP,就像一个具有IP的进程。只要分别在主机Docker容器中执行查看ip的命令就知道了。...下面我们来搞点有趣的事情,从主机接到docker的UNIX socket: # 像HTTP客户端一样连接到UNIX socket $ nc -U / /var/run/docker.sock 连接成功后...参数来连接到第一个容器(别名为loldb),并给第二个容器也指定一个别名(这里用的是cheez): $ docker run -link /loldb:cheez otherimage env 顺便得到...(bridge),基于此,我们可以建立一个类似rails的程序:一个容器可以访问数据库容器而不对外暴露其他接口。...数据库容器只需要知道第一个容器的别名(在本例中为cheez)和要打开的端口号。所以数据库容器也可以env命令来查看这个端口是否打开。

1.8K50

Docker从入门到精通(四)

Docker从入门到精通(三) 我们经常碰到服务之间要进行公共协作,所以容器之间要能互相访问,其实除了网络访问外,docker提供两种方便的方式 一种是通过映射容器的端口到本地宿主主机 一种是互联机制实现多个容器间通过荣启明快速访问...端口映射 当我们使用-P(大写P)参数指定端口映射,docker会随机给我分批49000-49900的端口到容器开放的网络端口 $ docker run -d -P training/webapp...第一步.创建一个新的数据库容器 $ docker run -d --name db training/postgres 54b60e8764abb44ecd9099ae3e9c88efce0b2d654bf114fc32aaeb74892a7b42...第二步.创建一个新的web容器,并使用--link连接到db $ docker run -d -P --name web --link db:db training/webapp python app.py...第三步.查看容器,此时web容器和db容器就建立了虚拟的通道 $ docker ps CONTAINER ID IMAGE COMMAND

35630

Docker夺命连环15问,你能坚持第几问?

◆ 2.Docker的应用场景有哪些? Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型环境中部署和调整数据库或其他的后台应用。...存储的镜像 [root@localhost ~]# docker save -o /opt/nginx.tar nginx:latest #将本地镜像传给另一台主机 [root@localhost ~]...当利用 docker run 来创建容器时, Docker 在后台的标准运行过程是: 检查本地是否存在指定的镜像。...通过docker0网桥以及iptables nat表配置与宿主机通信,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的 Docker 容器接到一个虚拟网桥上。...当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥,此主机上启动的Docker容器会连接到这个虚拟网桥上。

53720
领券