Docker
文章平均质量分 59
程序员贝塔
这个作者很懒,什么都没留下…
展开
-
如何获取 Docker 容器的 IP 地址
查询单个容器 IP 地址:使用下面命令可以查看容器详细信息,里面包含 IP 地址信息:docker inspect <container id>或者使用下面命令直接输出 IP 地址信息:docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container id>或者:docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}原创 2022-03-02 13:11:06 · 8930 阅读 · 0 评论 -
docker 批量删除 none 镜像
在使用 docker images 命令的时候,经常会在列表中看到 <none>:<none> 的镜像。这种镜像在 Docker 官方文档中被称作 dangling images,指的是没有标签并且没有被容器使用的镜像。当 docker build 或者 docker pull 新镜像的时候,如果之前已经存在了,涉及到镜像版本更新的话,那么之前的镜像就变成了临时镜像,也就是 <none>:<none> 镜像。删除 dangling 镜像:docker原创 2022-02-24 12:56:40 · 1990 阅读 · 0 评论 -
被 Docker 日志坑惨了
原文链接: 被 Docker 日志坑惨了最近在读《计算机程序的构造和解释》,里面有一句话:代码必须能够被人阅读,只是机器恰巧可以执行。我也想到了一句话:BUG 一定能够被人写出,只是恰好我写的多而已。说多了都是泪,来看看我最近遇到的一个问题。问题普通的一天,打开普通的电脑,登录一台普通的服务器,敲下一条普通的命令。在我使用命令补全时,出现了一条不普通的提示:-bash: cannot create temp file for here-document: No space left on de原创 2021-09-24 15:45:04 · 424 阅读 · 0 评论 -
使用 Docker 部署 RabbitMQ 没有日志?添加这两条配置,轻松搞定
使用 Docker 部署完 RabbitMQ 服务,到 /var/log/rabbitmq 目录下一看,空空如也,并没有日志文件生成。是没有日志吗?并非如此,日志都打在了标准输出上。使用如下命令可以查看:# docker logs -f container_name但平时运维的时候不可能这样来看,太麻烦了。这里就有一个疑问了,为什么打在了标准输出上,而不是输出到文件呢?RabbitMQ 有两个配置来定义日志输出:RABBITMQ_LOG_BASE:日志文件输出路径RABBITMQ_LOGS原创 2021-01-23 14:44:21 · 2659 阅读 · 1 评论 -
使用 Docker 部署 canal,并将消息推送到 RabbitMQ
上一篇已经介绍了使用 Docker 部署 canal 服务,实现 MySQL 数据库 binlog 日志解析,并且用官方提供的客户端程序成功读到了消息。但在生产环境下还不能这么用,更好的做法是将消息发送到消息队列,然后再从消息队列消费。这里我选择的是 RabbitMQ。原来看官方文档发现只支持 Kafka 和 RocketMQ,但好在最新版 1.1.5 也支持了 RabbitMQ,而且镜像也已经打好了。如果使用 Docker 部署的话,直接拉取最新的镜像即可。配置 canal第一步拉取镜像:#原创 2020-12-20 11:35:19 · 906 阅读 · 2 评论 -
使用 Docker 部署 canal 服务,实现 MySQL 数据库 binlog 日志解析
canal 是阿里巴巴开源的一个项目,主要用途是基于 MySQL 数据库 binlog 日志解析,提供增量数据订阅和消费。基于日志增量订阅和消费的业务包括:数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据处理我这边主要在两个场景下使用:一个是将变更数据实时同步到 Elasticsearch 和 Redis。这里先说一下我目前的做法,一方面是全量数据定时同步,由于数据量比较大,同步时间比较长,所以数据也就不够实时。第二个方面原创 2020-12-13 16:48:08 · 905 阅读 · 4 评论 -
使用 docker-compose 部署 Redis 服务
项目 Docker 化部署的最后一步,就差 Redis 了。本来以为是一件很简单的事,没想到折腾了我大半天的时间,下面就来分享分享我的采坑经历。docker-compose 文件:version: '3'services: redis: image: redis:3.2.12 container_name: redis restart: always network_mode: host command: redis-server /etc/redis.c原创 2020-10-24 17:34:44 · 4950 阅读 · 1 评论 -
使用 docker-compose 部署多机 RabbitMQ 集群
本文介绍 RabbitMQ 集群的 Docker 化部署,最开始是想通过 DockerSwarm 方式来部署的,但是 RabbitMQ 节点加入集群时一直失败,在网上找了很多办法,始终没有解决这个问题,无奈只能放弃。所以最终采用配置 hosts 文件方式来保证节点之间的通信,下面来进行详细说明。部署环境系统:CentOS8两台服务器:10.1.1.1/10.1.1.2docker-compose 文件version: '3'services: rabbit1: containe原创 2020-10-14 21:51:25 · 2048 阅读 · 3 评论 -
使用 Docker 部署 Django + MySQL 8 开发环境
前一段时间重装了系统,然后我还没有备份,导致电脑里的开发环境全都没有了。一想到又要装 Python 环境,还要装数据库,然后安装过程中还可能报一堆错就头疼。最近正在学习 Docker,这不正好解决了我当前的痛点了吗?而且,不止这次重装系统,以后再重装都不怕了,只要拿着 Dockerfile 和 docker-compose 文件,不管到什么环境,一条命令轻松跑起来。之前部署 Python 开发环境,都是用的 virtualenv,或者是 Pipenv。这次使用 Docker 之后,对比下来,还是 Do原创 2020-07-18 16:17:32 · 636 阅读 · 0 评论 -
使用 Dockerfile 创建镜像 | Docker 系列
之前写镜像的时候说到创建镜像最常用的方式是使用 Dockerfile,这篇就来重点说一下,到底是怎么使用 Dockerfile 来创建的。基本结构# 1、第一行必须是 FROM 基础镜像信息FROM ubuntu # 2、维护者信息MAINTAINER docker_user docker_user@email.com # 3、镜像操作指令RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >&g原创 2020-07-11 11:32:40 · 238 阅读 · 0 评论 -
使用数据卷管理数据 | Docker 系列
前文回顾:初识 Docker 与安装 | Docker 系列使用 Docker 镜像 | Docker 系列操作 Docker 容器 | Docker 系列众所周知,容器是随时创建随时删除的,那删除时容器里的数据怎么办呢?每次手动备份出来?当然不需要,Docker 非常贴心的提供了数据持久化方案,叫数据卷 volume。使用 volume 有四大优势:volume 可以在容器之间以及容器和主机之间共享和重用。volume 在某一挂载的位置被修改,所有使用该 volume 的地方都会原创 2020-06-28 22:15:33 · 138 阅读 · 0 评论 -
操作 Docker 容器 | Docker 系列
前文回顾:初识 Docker 与安装 | Docker 系列使用 Docker 镜像 | Docker 系列有了镜像的基础,下面就开始创建容器吧。Docker 容器非常轻量级,随时都可以创建和删除,非常方便。创建并启动容器使用 docker run 命令来创建并启动一个容器:$ docker run -it centos /bin/echo 'hello world'hello world-t 参数让 Docker 分配一个伪终端,并绑定到容器的标准输入上,-i 参数让容器的标准输入持原创 2020-06-22 16:52:48 · 219 阅读 · 0 评论 -
使用 Docker 镜像 | Docker 系列
今天来说说镜像,镜像是 Docker 中特别重要的概念,是容器运行的基础,没有镜像,后面的一切都不成立。典型的镜像表示方法分三部分,用 / 分隔:remote image hub/namespace/name:tagremote image hub:存储镜像的 Web 服务器地址;namespace:命名空间,表示一个用户或组织下的所有镜像;name:镜像名称;tag:镜像标签。其实,我们常看到的镜像是长这样的 name:tag,因为从 Docker 官方仓库拉下来的镜像,是可以省略前两原创 2020-06-13 16:05:06 · 277 阅读 · 0 评论 -
初识 Docker 与安装 | Docker 系列
如果想要快速持续开发和部署应用,那么对 Docker 这个词肯定不陌生,2015 年的时候我研究过一段时间,但后来由于工作内容的变更,就没有再关注过了。今年开始,项目每周都会升级上线,虽然写了很多自动化脚本,但依然感觉很麻烦,所以就想是不是可以通过 Docker 来优化一下这个流程。说干就干,最近读了两本书:《Docker 技术入门与实战》和《Docker 进阶与实战》,以及在测试环境的验证,也算是有了点心得,所以在这里总结一下,分享给大家。后续计划把线上环境都迁移到 Docker 上,也会边实践边.原创 2020-06-07 11:47:05 · 168 阅读 · 0 评论