容器技术
文章平均质量分 59
博主学习容器技术的记录。
ITKaven
ACMER
本科软件工程专业
硕士计算机技术专业
专注于WEB开发的烟酒僧
展开
-
RabbitMQ:Docker Compose部署RabbitMQ集群
部署RabbitMQ集群创建目录,用于存放Docker Compose部署RabbitMQ集群的yaml文件:mkdir -p /root/composefile/rabbitmq写入该yaml文件:vim /root/composefile/rabbitmq/rabbitmq_cluster.yaml内容如下所示:version: '3'services: rabbitmq1: image: rabbitmq:management restart:原创 2022-02-17 16:50:15 · 4446 阅读 · 2 评论 -
RabbitMQ:Docker Compose部署RabbitMQ
创建目录,用于存放Docker Compose部署RabbitMQ的yaml文件:mkdir -p /root/composefile/rabbitmq写入该yaml文件:vim /root/composefile/rabbitmq/rabbitmq.yaml内容如下所示:version: '3'services: rabbitmq: image: rabbitmq:management container_name: rabbitmq restart: alwa原创 2022-02-14 19:13:04 · 4315 阅读 · 0 评论 -
Kafka:Docker Compose部署Kafka集群
创建目录用于存放Docker Compose部署Kafka集群的yaml文件:mkdir -p /root/composefile/kafka/写入该yaml文件:vim /root/composefile/kafka/kafka.yaml 内容如下:version: '3'networks: kafka-networks: driver: bridgeservices: kafka1: image: wurstmeister/kafka container原创 2022-02-13 19:42:00 · 2074 阅读 · 0 评论 -
Nginx:Docker Compose部署Nginx
使用Docker Compose部署Nginx,创建docker-compose.yaml:[root@192 ~]# vim docker-compose.yaml输入以下内容:version: '3'services: nginx: container_name: nginx image: nginx restart: always ports: - 8080:80 privileged: true networks:原创 2022-02-13 12:03:43 · 2166 阅读 · 0 评论 -
ZooKeeper :Docker Compose部署ZooKeeper集群
用于Docker Compose部署ZooKeeper集群的yaml文件:version: '3'networks: zookeeper-networks: driver: bridgeservices: zookeeper1: image: zookeeper container_name: zookeeper1 restart: always ports: - 9001:2181 volumes: - "/usr/l原创 2022-02-13 17:05:46 · 3095 阅读 · 3 评论 -
Docker:安装Docker Compose
Docker Compose是一个在Docker上运行多容器应用程序的工具,使用Compose文件格式定义。Compose文件用于定义组成应用程序的一个或多个容器的配置方式,可以使用单个命令创建和启动应用程序:docker compose up下载Docker Compose二进制文件,将相关二进制文件重命名为docker-compose并将其复制到:/usr/local/lib/docker/cli-plugins或者/usr/local/libexec/docker/cli-plugins。原创 2022-02-13 11:59:24 · 1791 阅读 · 0 评论 -
Docker:可视化管理工具LazyDocker
LazyDockerLazyDocker是基于终端的一个可视化查询工具,支持键盘操作和鼠标点击。相比Portainer来说可能不那么专业,不过对于开发者来说可能反而更加好用了。因为开发者一般都是使用命令行来运行Docker,偶尔需要图形化查看的时候,就可以使用LazyDocker这个工具。部署运行LazyDocker提供的镜像,即创建与启动容器。docker run -it --name lazydocker -v /var/run/docker.sock:/var/run/docker.sock原创 2022-01-27 22:10:15 · 3497 阅读 · 2 评论 -
Docker:可视化管理工具Portainer与分析创建管理员账号错误的原因
PortainerPortainer可以部署在任何K8s、Docker或Swarm环境之上,为我们提供所有容器的统一视图。凭借丰富的治理和控制,Portainer让平台管理员可以轻松地集中管理和保护多集群环境。通过其强大的GUI和广泛的API,Portainer使开发人员能够部署、管理容器化应用程序,并对其进行故障排除,而无需深厚的Kubernetes专业知识。Portainer让DevOps团队有机会构建简化的、基于Git的自动化工作流,从而提高生产力并减少错误。Portainer可以作为Docker原创 2022-01-27 21:05:15 · 8000 阅读 · 4 评论 -
Mysql 8 - Mysql 8远程连接
博主这里使用Docker安装的Mysql。Mysql - CentOS yum & Docker安装Mysql 8查看3306端口是否被占用。netstat -anp | grep 3306我们使用宿主机的3306端口映射容器的3306端口。创建容器。docker run --name mysql_kaven -p 3306:3306 -e MYSQL_ROOT_PASSWORD=ITkaven@666 -d mysql:8--name:给新创建的容器命名。-e:配置原创 2021-07-02 19:48:52 · 974 阅读 · 12 评论 -
Mysql 8 - CentOS yum & Docker安装Mysql 8
CentOS yum安装Mysql 8先检查系统是否安装过Mysql:yum list installed | grep mysql博主之前是有安装过的,先需要把这些remove掉。根据自己安装的Mysql版本包名来执行下面这条命令。yum remove -y mysql-community-client.x86_64 mysql-community-client-plugins.x86_64 mysql-community-common.x86_64 mysql-community-libs原创 2021-07-02 17:12:07 · 351 阅读 · 4 评论 -
Kubernetes汇总
Kubernetes汇总基础Kubernetes - Kubernetes是什么?Kubernetes - Kubernetes 组件Kubernetes - Xshell连接虚拟机 & 搭建Kubernetes基础集群未完待续扩展阅读VirtualBox安装CentOS7原创 2020-12-31 15:02:55 · 860 阅读 · 59 评论 -
Kubernetes - Xshell连接虚拟机 & 搭建Kubernetes基础集群
Kubernetes - Xshell连接虚拟机 & 搭建Kubernetes基础集群博主这里会搭建一个master,两个node的Kubernetes基础集群。博主的环境:三台CentOS7的虚拟机。虚拟内存都是1G,虽然官方推荐2G以上,但博主电脑的内存不太够,况且博主只是为了演示,并不是生产环境,这个问题后面会解决。虚拟硬盘都是8G。创建虚拟机:VirtualBox安装CentOS7现在假设大家已经创建好了三台虚拟机。使用Xshell连接虚拟机在VirtualBox原创 2020-12-27 10:57:08 · 5477 阅读 · 22 评论 -
Kubernetes - Kubernetes 组件
Kubernetes - Kubernetes 组件当部署Kubernetes时,将会得到一个集群。Kubernetes集群由一组称为节点( nodes)的工作机器组成,它们运行容器化的应用程序。每个集群至少有一个工作节点。工作节点承载作为应用程序工作负载组件的Pod。控制平面(control plane)管理集群中的工作节点和Pod。在生产环境中,控制平面通常跨多台计算机运行,集群通常运行多个节点,从而提供容错性和高可用性。这是一张Kubernetes集群的图,所有组件都绑定在一起。1. 控制翻译 2020-12-24 20:47:43 · 852 阅读 · 2 评论 -
Kubernetes - Kubernetes是什么?
Kubernetes - Kubernetes是什么?Kubernetes是一个可移植的、可扩展的、开源的平台,用于管理容器化的工作负载和服务,它促进了声明式配置和自动化。它有一个庞大的,快速增长的生态系统。Kubernetes的服务、支持和工具是广泛可用的。时光倒流通过时光倒流,让我们来看看为什么Kubernetes如此有用。传统部署时代:早期,在物理服务器上运行应用程序。在物理服务器中无法为应用程序定义资源边界,这导致了资源分配问题。例如,如果多个应用程序在一个物理服务器上运行,则可能存在这样翻译 2020-12-24 12:18:21 · 655 阅读 · 2 评论 -
Docker - Dockerfile之ENV、ENTRYPOINT、VOLUME、ONBUILD、STOPSIGNAL指令详解
STOPSIGNAL格式STOPSIGNAL signal。STOPSIGNAL指令设置将发送到容器以退出的系统调用信号。这个信号可以是一个有效的无符号数字,与内核的syscall表中的位置相匹配,例如9,或者是SIGNAME格式的信号名,例如SIGKILL。HEALTHCHECK用于指定某个程序或者指令来监控 docker 容器服务的运行状态。格式HEALTHCHECK [OPTIONS] CMD command 设置检查容器健康状况的命令HEALTHCHECK NONE原创 2020-12-22 20:17:12 · 2346 阅读 · 0 评论 -
Docker - Docker远程安全访问
Docker - Docker远程安全访问上一篇博客介绍了关于Docker远程访问的内容:Docker - Docker开启远程访问。但直接把Docker这样对外暴露是非常危险的,就跟你服务器上的Redis对外开放(无保护暴露6379端口),还不设置密码一样。其实官方文档已经提供基于CA证书的加密方法:Protect the Docker daemon socket。创建CA私钥和CA公钥首先创建一个ca文件夹用来存放密钥。[root@izoq008ryseuupz ~]# mkdir -p c原创 2020-12-21 23:36:44 · 1450 阅读 · 2 评论 -
Docker - Docker开启远程访问
Docker - Docker开启远程访问Docker守护进程套接字选项Docker守护进程可以通过三种不同类型的套接字监听Docker Engine API请求:unix、tcp和fd。默认情况下,在/var/run/docker.sock处创建一个unix域套接字(或IPC套接字),需要root权限或docker组成员身份。如果需要远程访问Docker守护进程,则需要启用tcp套接字。请注意,默认设置提供了对Docker守护进程的未加密和未经身份验证的直接访问,并且应该使用内置的HTTPS加密套原创 2020-12-20 16:45:18 · 2414 阅读 · 4 评论 -
Docker - Dockerfile之ADD、COPY、WORKDIR、USER、EXPOSE指令详解
WORKDIR格式WORKDIR /path/to/workdir。工作目录,类似于cd命令。为后续的 RUN、CMD、ENTRYPOINT 指令配置工作目录。可以使用多个 WORKDIR 指令,后续命令如果参数是相对路径,则会基于之前命令指定的路径。例如WORKDIR /aWORKDIR bWORKDIR cRUN pwdONBUILD格式ONBUILD <INSTRUCTION>。配置当所创建的镜像作为其它新创建镜像的基础镜像时,所执行的操作指令。例如,原创 2020-12-18 13:03:21 · 4136 阅读 · 0 评论 -
Docker - Dockerfile之FROM、ARG、LABEL、MAINTAINER、RUN、CMD指令详解
Dockerfile介绍Dockerfile是什么Dockerfile是一个包含用于组装镜像的所有指令的文本文档。Docker可以使用docker build命令读取Dockerfile中的指令自动生成镜像。Dockerfile由一行行指令组成,支持以#开头的注释行。一般的,Dockerfile分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令。FROM用来指定基础镜像,必须是第一个指令。格式FROM [--platform=<platform>] <im原创 2020-12-15 17:01:06 · 7375 阅读 · 2 评论 -
Docker - Docker初级网络配置 - 容器通信
Docker学习(七)- Docker初级网络配置 - 容器通信使用docker run命令的--link选项可以用来链接两个容器,使得源容器(被链接的容器)和接收容器(主动去链接的容器)之间可以互相通信,并且接收容器可以获取源容器的一些数据,如源容器的环境变量。虽然Docker官方已经不推荐使用docker run --link来链接两个容器,从而进行互相通信,随后的版本中会删除--link,但了解其原理,对如何使两个容器之间互相通信还是有帮助的。创建源容器通过下面这条命令在镜像nginx上创建源容原创 2020-11-28 23:29:33 · 1054 阅读 · 0 评论 -
Docker容器中使用PING命令报错:bash: ping: command not found
Docker容器中使用PING报错:bash: ping: command not found在Docker容器中想要ping另外一个容器,比如是建立链接的源容器,却提示找不到ping命令。root@dcad73196349:/# ping sourcebash: ping: command not found解决方法apt-get updateroot@dcad73196349:/# apt-get updateGet:1 http://security.debian.org/debia原创 2020-11-28 22:24:12 · 22685 阅读 · 4 评论 -
Docker - Docker初级网络配置 - 端口映射
Docker学习(六)- Docker初级网络配置端口映射Docker容器启动之前,如果不进行端口映射,在容器外部是无法通过网络来访问容器内的网络应用和服务。因为容器中常常会运行一些网络应用和服务,如果想在容器外部通过网络来访问容器内的网络应用和服务,就必须对该容器进行端口映射,可以通过docker run命令中的-P或-p选项来进行端口映射。随机端口映射当通过docker run命令中的-P选项来进行端口映射时,Docker会随机映射一个端口到容器开放的网络端口。以nginx为例,先拉取ngin原创 2020-11-27 18:06:38 · 2670 阅读 · 2 评论 -
Docker - Docker数据持久化
Docker学习(五)- Docker数据持久化Docker的数据持久化主要有两种方式:Bind Mount。Volume。Docker的数据持久化,即是数据不随着容器的结束而结束,数据存储于宿主机上,要么存储于宿主机某个指定目录中(使用Bind Mount),要么存储于Docker管理的Volume中(/var/lib/docker/volumes下)。Bind Mount在Docker早期便开始使用了,用于将宿主机中的目录挂载(mount)到容器中。但是当Bind Mount在不同的宿主机原创 2020-11-27 12:49:25 · 1374 阅读 · 2 评论 -
Docker - Docker Volume及Volume命令详解
Docker学习(四)- Docker Volume及Volume命令详解什么是数据卷(Volume)Docker镜像被存储在一系列的只读层中。当我们创建一个容器时,Docker会读取镜像(只读),并在其顶部添加一层读写层。如果正在运行中的容器修改了现有文件,该文件将会被拷贝出底层的只读层,放到最顶层的读写层中。读写层中原来的旧版本文件(未被更改过的文件)仍然存在于镜像中。所以当Docker容器被删除后,再基于原来的镜像创建容器时,将创建一个没有任何数据更改的容器,在之前那个容器中的数据更改会被丢失掉原创 2020-11-25 21:48:16 · 21963 阅读 · 5 评论 -
Docker - Docker Container及Container命令详解
Docker学习(三)- Docker容器及容器命令详解什么是Docker容器(Docker Container)上一篇博客介绍了Docker镜像(Docker Image)以及Image的一些命令:Docker学习(二)- Docker Image及Image命令详解。其实镜像(Image)和容器(Container)的关系,就像是程序和进程一样,镜像是静态的定义,容器则是动态的定义,是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。每个容器都是相互隔离的、保证安全的平台。可以把容器看做原创 2020-11-23 20:36:11 · 6082 阅读 · 0 评论 -
Docker汇总
安装Centos7.3安装Docker19.03.13DockerDocker学习(一)- 这应该就是你想要的Docker架构分析Docker学习(二)- Docker Image及Image命令详解未完待续原创 2020-11-22 12:58:21 · 1993 阅读 · 46 评论 -
Docker - Docker Image及Image命令详解
Docker学习(二)- Docker Image及Image命令详解什么是镜像(Image)Docker镜像(Docker Image)就是一个只读的模板。比如,一个镜像可以包含一个完整的Ubuntu操作系统环境。镜像可以用来创建Docker容器。在Docker的术语里,一个只读层被称为镜像,一个镜像是永久不会变的。由于Docker使用一个统一文件系统,Docker进程认为整个文件系统是以读写方式挂载的。 但是所有的变更都发生在顶层的可写层,而下层的原始的只读镜像文件并未变化。由于镜像不可写,原创 2020-11-22 12:54:55 · 15266 阅读 · 4 评论 -
Docker - 这应该就是你想要的Docker架构分析
Docker学习(一)- Docker架构原文地址Docker:架构分解Docker项目的目标是实现轻量级的操作系统虚拟化解决方案,它的基础是Linux 容器(LXC)等技术。在LXC的基础上Docker进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker的容器就像操作一个快速轻量级的虚拟机一样简单。下面的图片比较了Docker和传统虚拟化方式的不同之处,可见容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,而传统方式则是在硬件层面实现。转载 2020-11-21 17:19:48 · 1658 阅读 · 3 评论 -
CentOS:安装Docker
Centos7.3安装Docker如果已安装旧版本的Docker,先卸载Docker以及相关的依赖项。$ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-l原创 2020-11-20 22:57:30 · 2066 阅读 · 2 评论