docker 部署单机nacos,使用外部mysql 数据库
链滴 docker 部署单机 nacos,使用外部 mysql 数据库 作者:gaga 原文链接:https://ld246.com/article/1605794547589 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0) 1. 环境说明 mysql: 8.0.19 2. 拉取镜像 docker pull nacos/nacos-server 如下几个参数需要替换为具体参数 -e MYSQL_SERVICE_HOST=替换具体数据库实例 -e MYSQL_SERVICE_DB_NAME=数据库 -e MYSQL_SERVICE_PORT=数据库端口 -e MYSQL_SERVICE_USER=数据库用户名 -e MYSQL_SERVICE_PASSWORD=数据库密码\ docker run -d \ --name nacos \ -p mysql 数据库 -e JVM_XMS=256m \ -e JVM_XMX=256m \ -e PREFER_HOST_MODE=hostname \ -e MODE=standalone \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=替换具体数据库实例 \ -e MYSQL_SERVICE_DB_NAME=数据库\ -e0 码力 | 3 页 | 150.36 KB | 1 年前3Docker 从入门到实践 0.4
的时候如果添加 --rm 标记,则容器在终止后会立刻删除。注意, --rm 和 -d 参 数不能同时使用。 使用 --link 参数可以让容器之间安全的进行交互。 下面先创建一个新的数据库容器。 $ sudo docker run -d --name db training/postgres 容器互联 自定义容器命名 容器互联 Docker —— 从入门到实践 54 容器互联 容器将被允许访问 db 容器的信息。 Docker 在两个互联的容器之间创建了一个安全隧道,而且不用映射它们的端口到宿主主机上。在启动 db 容器的时候并没有使用 -p 和 -P 标记,从而避免了暴露数据库端口到外部网络上。 Docker 通过 2 种方式为容器公开连接信息: 环境变量 更新 /etc/hosts 文件 使用 env 命令来查看 web 容器的环境变量 $ sudo docker Dockerfile 中只能有一个 ENTRYPOINT ,当指定多个时,只有最后一个起效。 格式为 VOLUME ["/data"] 。 创建一个可以从本地主机或其他容器挂载的挂载点,一般用来存放数据库和需要保持的数据等。 格式为 USER daemon 。 指定运行容器时的用户名或 UID,后续的 RUN 也会使用指定用户。 ADD COPY ENTRYPOINT VOLUME0 码力 | 179 页 | 2.27 MB | 1 年前3Docker 从入门到实践 0.9.0(2017-12-31)
期的效果。 场景二:应用运行前的准备工作 ENTRYPOINT 入口点 85 启动容器就是启动主进程,但有些时候,启动主进程前,需要一些准备工作。 比如 mysql 类的数据库,可能需要一些数据库配置、初始化的工作,这些工作要在最终的 mysql 服务器运行之前解决。 此外,可能希望避免使用 root 用户去启动服务,从而提高安全性,而在启动服务前还需要 以 root 定义匿名卷 格式为: VOLUME ["<路径1>", "<路径2>"...] VOLUME <路径> 之前我们说过,容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存 动态数据的应用,其数据库文件应该保存于卷(volume)中,后面的章节我们会进一步介绍 Docker 卷的概念。为了防止运行时用户忘记将动态文件所保存目录挂载为卷,在 Dockerfile 中, 模板文件,可以让用户很方便的定 义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某 项任务的情况。例如要实现一个 Web 项目,除了 Web 服务容器本身,往往还需要再加上后 端的数据库服务容器,甚至还包括负载均衡容器等。 Compose 恰好满足了这样的需求。它允许用户通过一个单独的 docker-compose.yml 模板文件 (YAML 格式)来定义一组相关联的应用容器为一个项目(project)。0 码力 | 370 页 | 6.73 MB | 1 年前3
共 3 条
- 1