docker
我是坑货
这个作者很懒,什么都没留下…
展开
-
关于服务器Linux安装git
服务器安装一些工具有时候会用到git,比如说我要在服务器上建一个nacos,想使用compose的方法来,这就需要git下载人家样例代码进行修改安装Debian/Ubuntu$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev libssl-dev$ apt-get install git$ git --versiongit version 1.8.1.2Centos/RedHat(这里我用的是腾原创 2022-03-07 19:18:08 · 485 阅读 · 0 评论 -
Docker进阶学习:其他命令以及扩展
Docker Stackdocker-compose 单机部署项目docker stack 集群部署 # 单机docker-compose up -d wordpress.yaml# 集群docker stack deploy wordpress.yamlDocker Secret安全!配置密码!证书! [root@iZ2ze58v8acnlxsnjoulk5Z ~]# docker secret --help Usage: docker secret COMMAND Ma原创 2022-01-27 01:35:27 · 635 阅读 · 0 评论 -
Docker进阶学习: swarm扩展学习
swarm集群的管理和编排。docker可初始化一个 swarm 集群,其他节点可加入(manager、worker)Node就是一个docker节点。多个节点组成了一个网络集群(manager、worker)Service服务、可管理节点或者工作节点运行Task容器内的命令命令 -> 管理 -> api -> 调度 -> 工作结点(创建Task容器维护创建!)服务副本和全局服务拓展: 网络模式 “PublishMode”:“ingress”Swarm:原创 2022-01-27 01:27:19 · 980 阅读 · 0 评论 -
Docker进阶学习实战:Swarm集群弹性创建服务
docker-compose up 单机是启动一个项目。集群就可以用到swarm 会有对应的docker-service这里就要用到docker service 命令。[root@iZ0jl6rrdv6vf4gfypviclZ ~]# docker service --helpUsage: docker service COMMANDManage servicesCommands: create Create a new service inspect Di原创 2022-01-25 03:02:21 · 759 阅读 · 0 评论 -
Docker进阶学习:Raft一致性协议
双主双从:假设一个结点挂了!其他结点是否可以用!我们接着上面的集群可以做实验,就是我挂掉一个主机的docker服务,看这个swarm可不可以。# 启动docker服务sudo systemctl start docker#停止docker服务sudo systemctl stop docker...原创 2022-01-20 02:57:47 · 763 阅读 · 0 评论 -
Docker进阶学习:swarm集群搭建
我们可以看一下官方文档关于工作机制的地方How nodes work可以从官方截图上看,manager顾名思义是管理器,但是管理器要做好分配。官方一句话:An N manager cluster tolerates the loss of at most (N-1)/2 managers.swarm环境准备1 几台机安装docker可采用我专栏里面的Docker安装实际上你安装了,docker就可以使用docker swarm 命令了,你可以先看一下帮助docker swarm --hel原创 2022-01-20 02:52:56 · 1855 阅读 · 0 评论 -
Docker进阶学习:关于云服务器的选择
这里是自己的实验的云服务器,涉及到钱肯定是在满足自己需求的同时,尽可能便宜,这里是以阿里云作为例子来选择自己买多台服务器搭建集群的相关注意事项;(1)服务器类型的选择如果不是自己的博客或者其他的服务,需要长时间的那种,自己测试搭集群需要很多台机子,选择按量付费就可以(2)服务器的选择我这里是想选最便宜的,1核2G就够了,但是没有选了个2核2G的但是要注意不是所有都这样,有的服务是对服务器有要求的,比如说K8S要求2核4G的服务器。(3)关于网络我们建的网络要在一个网络,你走公网要走流量要付费的原创 2022-01-19 03:32:10 · 692 阅读 · 0 评论 -
Docker进阶学习:使用Compose一键部署WP博客
就是直接建一个博客,而不是按照之前的方式一步一步去部署Wordpress,直接使用wordpress相关的镜像。下载程序、安装数据库、配置…compose应用 => 一键启动1 下载项目(docker-compse.yaml)2 如果需要文件。Dockerfile3 文件准备齐全,一键启动项目即可这里具体的compose的步骤还是看官方文档,以官方为准,文档地址:compose and wordpress实际上这个官方文档搜索一下,有很多东西可以用,包括常见的一些服务应用的使用文档。原创 2022-01-16 18:28:27 · 603 阅读 · 0 评论 -
Docker进阶学习:Compose配置编写规则
docker-compose.yaml 是Compose的核心。以下是compose的官方文档地址:https://docs.docker.com/compose/compose-file/#compose-file-structure-and-examples我们把上次demo的yml文件来做例子version: "3.7"services: web: build: . ports: - "5000:5000" redis: image: "redis原创 2022-01-16 06:24:48 · 611 阅读 · 0 评论 -
Docker进阶学习:docker-compose的体验
安装好docker-compose后,我们要体验一下了解基础的操作和命令。搞一个官方demo,python应用。 计数器。redis我先来一个官方文档地址,基本很多都是按照文档来的,建议尽量去官方文档来产看最新的,我这个可能也只是主要内容搬运了当前官方文档的,以官方为准。docker compose官网:compose started步骤1创建文件夹以及路径 mkdir composetest cd composetest创建文件(文件内容主要是弄一个计时器,通过time包和redis来)原创 2022-01-16 05:00:01 · 839 阅读 · 0 评论 -
Docker进阶学习:Compose安装
这个compose是要单独安装的,不是你只安装一个docker服务。1 安装# 官网提供 (没有下载成功)curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 国内地址curl -L https://get.daocloud.io/docker/compose/rel原创 2022-01-16 04:58:02 · 190 阅读 · 0 评论 -
Docker进阶学习:Docker Compose介绍
DockerDockerfile build run 手动操作,单个容器!微服务,100个微服务,依赖关系。Docker Compose 来轻松高效的管理容器,定义运行多个容器。定义运行多个容器在这里插入图片描述原创 2022-01-12 03:44:04 · 162 阅读 · 0 评论 -
docker实战问题:Get “https://registry-1.docker.io/v2/“: context deadline exceeded
在构建镜像的时候会报错,如下:Get "https://registry-1.docker.io/v2/": context deadline exceeded 所使用的环境是centos。在网上遇找到一个解决方案,及时修改DNS,修改成一个google的公共DNS 8.8.8.8具体操作如下修改文件/etc/resolv.conf将其改成以下的IP形式:nameserver 8.8.8.8nameserver 8.8.4.4一般来说修改保存成功以后,会建议重启一下dockersud原创 2022-01-12 03:22:32 · 8201 阅读 · 3 评论 -
docker实战:springboot微服务打包Docker镜像
1构建springboot项目原创 2022-01-11 02:26:27 · 557 阅读 · 0 评论 -
docker学习:Redis集群部署实战
搞一个分片的redis集群部署(3主3从)这里先来一个类似于管道命令形式的docker 删除所有镜像的命令docker rm -f $(docker ps -aq)# 创建网卡docker network create redis --subnet 172.38.0.0/16 # 通过脚本创建六个redis配置for port in $(seq 1 6); \do \mkdir -p /mydata/redis/node-${port}/conftouch /mydata/redi原创 2022-01-11 01:37:32 · 575 阅读 · 0 评论 -
docker学习:网络连通
这里主要就是docker connect命令原创 2022-01-10 00:12:01 · 809 阅读 · 0 评论 -
docker学习:自定义网络(容器互联)
首先要了解一个命令就是docker network,主要是关于docker网络配置产看的。[root@VM-0-3-centos ~]# docker network --helpUsage: docker network COMMANDManage networksCommands: connect Connect a container to a network create Create a network disconnect Disconnect a原创 2022-01-07 17:01:42 · 1212 阅读 · 0 评论 -
docker学习:容器互联-link
我现在弄两个tomcat,分别是tomcat01,tomcat02,端口随机。#随机端口-P 大写的P,小写的p要添加端口映射的docker run -d -P --name tomcat02 tomcat我们想尝试直接通过名字来连接链接两个容器#直接通过类似管道命令的形式,进入容器交互模式ping另一个容器,通过容器名 docker exec -it tomcat02 ping tomcat01 #结果是ping不通的# 如何可以解决呢?# 通过--link既可以解决网络连通问原创 2022-01-06 03:18:14 · 1073 阅读 · 0 评论 -
Docker学习:docker网络
在已经安装docker的服务器,通过网络命令来查看网络ip addr会出现一堆地址,但是我们主要看前面的部分,如下:会有三个网络。lo本地 eth0内网 docker0 docker0地址原创 2022-01-05 03:02:50 · 578 阅读 · 0 评论 -
docker学习:关于自己的docker镜像的发送
我们自己创建镜像,想把它像github一样传到网上,到时候想用的时候直接就可以用。这就会用到我们该如何发送镜像,跟github很像也可以通过命令行来完成1 dockerhub的镜像上传(1)首先注册dockerhubdocker tag mytomcat:0.1 zhangpeng/tomcat:1.0docker push zhangpeng/tomcat:1.0...原创 2021-12-31 18:14:59 · 754 阅读 · 0 评论 -
docker实战:dockerfile制作tomcat镜像
1 准备镜像文件 tomcat压缩包,jdk的压缩包!下载tomcat我就不说了下载JDK有很多版本,我们是在服务器centos上去用所以选择Linux版本,但是还会涉及到一个问题就是,选多少位的,我们这边可以用这个命令来看主机是多少位的:getconf LONG_BIT我这个是64位的,我就选择...原创 2021-12-30 03:25:40 · 4615 阅读 · 1 评论 -
docker学习:CMD 和 ENTRYPOINT区别
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代。ENTRYPOINT # 指定这个容器启动的时候要运行的命令,可以追加命令cmd 测试 ls -a的命令,实际上只有-a起作用了,ls没有测试CMD# 编写dockerfile文件$ vim dockerfile-test-cmdFROM centosCMD ["ls","-a"]# 构建镜像$ docker build -f dockerfile-test-cmd -t cmd-test:0.1原创 2021-12-30 02:44:27 · 376 阅读 · 0 评论 -
docker实战:构建自己的centos
基于一个官方的现成的centos,构建一个属于自己的centos,毕竟官方的centos已经非常精炼了,很多之前自己常用的命令都没有,可以自己定制化一个。一 编写dockerfile,通过vim把下面代码可以拷贝进去,对于信息可以声明自己做点修改。dockerfile如下:ENV 设置环境变量,这边是设置一个路径WOKRDIR 就是工作路径,在构建镜像的每一层都存在(一个run命令就是一层,就跟叠罗汉似的),只有通过WORKDIR创建的目录会一直存在。FROM centosMAINTAINER原创 2021-12-30 02:32:23 · 512 阅读 · 1 评论 -
docker学习:dockerfile命令
dockerfile文件是由dockerfile命令来构成的,以下是一个图关于dockerfile的分类的:常用的dockerfile命令:FROM # 基础镜像,一切从这里开始构建MAINTAINER # 镜像是谁写的, 姓名+邮箱RUN # 镜像构建的时候需要运行的命令ADD # 步骤, tomcat镜像, 这个tomcat压缩包!添加内容WORKDIR # 镜像的工作目录VOLUME原创 2021-12-28 15:22:37 · 285 阅读 · 0 评论 -
docker学习:dockerfile介绍
这里主要是介绍dockerfile,dockerfile就是用来构建docker镜像的脚本。(脚本就意味着会有相关的dockerfile命令,也是我们要学习的一部分)。构建步骤:(1)编写一个Dockerfile文件(2)docker build 构建成为一个镜像(3)docker run 运行镜像(4)docker push 发布镜像 (DockerHUB 阿里云镜像仓库)实际上(1)(2)(3)这些我们在前面的挂载的例子dockerfile初识就用了,里面也有一些很简单的命令。如果·不熟悉的原创 2021-12-28 03:17:32 · 190 阅读 · 0 评论 -
docker学习:数据卷容器
数据卷挂载,那可不可以有一个容器来负责来提供给其他容器提供数据卷挂载,这其实就是一个数据卷容器。举个例子我建一个容器# 通过我们刚刚自己生成的有两个volume的镜像来启动一个容器,也可以用别的有挂载镜像docker run -it -d --name docker01 oskari/centos:1.0 # 作为数据卷容器ps:如果没有挂载容器的镜像,可以参照以下的链接来构建你自己的有挂载的镜像。创建一个简单的dockerfile来创建镜像我们知道这个容器肯定是有自己的挂载的宿主机目录的。原创 2021-12-28 02:44:35 · 420 阅读 · 0 评论 -
docker学习:初始dockerfile
实际上你可以理解为docker的基础配置文件即使dockerfile,他来构建docker的image镜像。这部分先简单的认识一下dockerfile,弄一个简单的dockerfile,然后通过这个dockerfile做一个镜像。创建dockerfile我们首先可以到一个指定的目录,生成一个dockerfile。我这里是home目录下创建一个目录。通过vim创建一个简单的dockerfile,起的名字叫dockerfile1,具体内容如下,就是一个简单的centos容器。FROM centosVO原创 2021-12-27 03:29:13 · 482 阅读 · 0 评论 -
docker学习:Docker匿名挂载和具名挂载
数据卷volume提到这个匿名挂在和具名挂载,其实要先普及一个知识,就是什么是volumes,这个volumes就是数据卷的意思。我们docker挂载会用到这个卷。数据卷的用处就是一个可供一个或者多个容器使用的特殊目录,他绕过UFS就是什么联合文件系统,提供了很多功能:(1)数据卷可以多个容器共享或者重用(2)对数据卷修改会立马生效(3)对数据卷的更新不会影响镜像(4)数据卷默认会一直存在,即使容器被删除了(结合2,3点特别像nacos)查看数据卷的命令可以用:docker volume -原创 2021-12-26 18:10:10 · 1614 阅读 · 0 评论 -
docker实战:安装MySQL并挂载数据和配置文件
用docker来安装MySQL这个要挂载文件的,要不然删除容器就相当于删库。这里就是MySQL的docker安装第一步 获取镜像# 获取mysql镜像[root@iz2zeak7sgj6i7hrb2g862z home]# docker pull mysql:5.7第二步 安装MySQL容器首先根据dockehub官网的MySQL的镜像命令,很明显没有说挂载的事# 运行容器,需要做数据挂载 #安装启动mysql,需要配置密码的,这是要注意点!# 参考官网hub docker run --原创 2021-12-25 02:55:30 · 1670 阅读 · 0 评论 -
docker学习:容器数据卷
容器数据卷就是为了实现数据持久化,要不然你删掉容器,顺带把你容器内的数据也一并删掉,实际上就相当于“删库”了。将容器内的目录挂载在宿主机上或其他容器内,实现同步和共享的操作,即使将容器删除了,但是它挂载的目录不会被删除。实际上,挂载的两个目录是相通的,就是你不管是在容器那边对应的目录还是在宿主机挂载的目录,目录结构是相同的,你在任何一边创建一个文件,另一面也会看的到。如何挂载就是要用到参数-v来。# -it是进入交互模式,就是执行玩命令直接进入容器里了docker run -it -v 主机目录:原创 2021-12-24 01:14:08 · 825 阅读 · 0 评论 -
docker学习:实战commit
这里的commit是把你修改后的一个容器打包成一个镜像,这样你本地就多了一个image镜像。有什么用呢?就是你在之前的镜像上的修改连同镜像,成为一个新的image,下次你去布置启动这个修改后的镜像就不用,先下载一个镜像再修改,直接拿你这次commit的镜像让女性就可以了。这里我拿的是tomcat举的例子:docker commit 提交容器成为一个新的版本 # 命令和git 原理类似docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG] dock原创 2021-12-22 01:15:53 · 545 阅读 · 0 评论 -
docker基础:联合文件系统
首先docker的镜像是由一层一层的文件系统组成的。不同 Docker 容器就可以共享一些基础的文件系统层,同时再加上自己独有的改动层,大大提高了存储的效率。这个基础是联合文件系统联合文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。联合文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。特性:一次同时加载多个文件系统,原创 2021-12-17 18:29:50 · 1717 阅读 · 0 评论 -
docker部署实战:portainer
portainer是一个容器管理工具,可视化界面,你安装好portainer,就可以管理你容器甚至是远程的,而且安装,管理查看,挂在等功能都可以通过界面操作来操作。首先要安装portainer,并对应在防火墙开放对应的端口。docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer # 测试[root@iZ原创 2021-12-09 14:30:29 · 1381 阅读 · 0 评论 -
docker实战部署:安装ES
安装ES要比别的多一些设置,比如说内存的管理,设置容器内部还要涉及到ES的很多工具比如Kibana这些。首先安装ES# es 暴露的端口很多# es 十分的耗内存# es 的数据一般需要放置到安全目录! 挂载# --net somenetwork 网络配置 # 启动elasticsearchdocker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=sing原创 2021-12-09 14:06:24 · 1393 阅读 · 0 评论 -
docker学习:关于docker的安装和部署
这其实应该放在最前面的这部分,我所用的系统是centos 7系统。一 卸载旧版本的docker跟很多工具一样都要删旧的再安装,没有就啥事没有 nothing to do。sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \原创 2021-12-09 10:41:31 · 149 阅读 · 0 评论 -
docker部署实操二:tomcat部署
首先我们要去下载Tomcat的镜像,因为镜像本身就是一个简化的操作系统。一般来说你下一个镜像不用去里面设置环境变量,所谓的开箱即用。搜索tomcat镜像首先第一步搜索镜像docker search tomcat下载指定版本的tomcat实际上tomcat有很多版本,有的时候可能项目中用的不是最新,是指定的某个旧的版本,我们可以指定版本下载docker pull tomcat:9.0运行tomcat运行tomcat镜像(要开放端口不管你安全组还是防火墙要把端口暴露出来) docker r原创 2021-12-07 13:58:40 · 1212 阅读 · 0 评论 -
docker部署实操一:安装niginx
1 搜索镜像docker search nginx2 下载镜像docker pull nginx3 安装镜像这里要有一个预发条件,就是你本地或者远程服务器的端口有没有在防火墙开通,一般来说会有几个常用的端口是开放的,比如这个80端口就是开通好的,如果你用别的端口要记得区防火墙或者安全组里去设置。docker run -d --name nginx01 -p 80:80 nginx# -d 后台运行# -name 给容器命名# -p 宿主机端口:容器内部端口上面这个命令要讲一下原创 2021-12-06 17:10:52 · 1407 阅读 · 0 评论 -
docker命令学习:常用的容器命令
下载镜像docker pull centos镜像实例化,运行容器docker run 参数 XXX 这里参数很重要尤其是-p参数,做映射否则只是在容器内是一个运行状态,更不可能通过宿主机的的外网端口去做访问。docker run [可选参数] image # 参数说明--name=“Name” 容器名字 tomcat01 tomcat02 用来区分容器-d 后台方式运行-it 使用交互方式运行,进入容器查看内容-p 指定容器的端原创 2021-12-06 17:02:30 · 150 阅读 · 0 评论 -
docker学习:镜像以及镜像命令
docker镜像docker在安装好就要涉及到镜像的部分,首先要知道镜像是啥以及它的作用。docker可以理解是一个模板,这个模板我们可以通过它启动一个或者多个容器。镜像本身是一个精简的操作系统,里面有设置好的环境和依赖。像一个停止的容器,你可以通过它运行一个活动的容器。镜像命令docker images 查看所有命令[root@iZ2zeg4ytp0whqtmxbsqiiZ ~]# docker imagesREPOSITORY TAG IMA原创 2021-12-03 15:30:58 · 1347 阅读 · 0 评论