docker
文章平均质量分 72
docker基础-实战
weixin_44250083
这个作者很懒,什么都没留下…
展开
-
docker link实例:容器部署zabbix
该示例示范了如何运行 MySQL 数据库支持、基于 Nginx Web 服务器的 Zabbix Web 界面和 Zabbix Java gateway。1、启动mysql服务器容器docker run --name mysql-server -t \-e MYSQL_DATABASE="zabbix" \-e MYSQL_USER="zabbix" \-e MYSQL_PASSWORD="zabbix_pwd" \-e MYSQL_ROOT_PASSWORD="root_pwd".原创 2021-09-02 18:25:32 · 238 阅读 · 0 评论 -
docker容器间互访:--link
1、--link 介绍docker容器间互联的方法:--link(单方向的互联),先启动的容器只能用IP地址连接后启动的容器,后启动的容器可通过IP地址、容器名、别名进行连接。docker run -d --name http2199b8eb8390 tail -F /qq/qqdocker run -d --name 02 --linkhttp:web012199b8eb8390 tail -F /qq/qqhttp 要访问的那个容器的名字web01 给http容器起的别...原创 2021-09-02 17:49:25 · 1623 阅读 · 1 评论 -
docker的存储驱动详解
目录1、查看docker的存储驱动1.1 测试环境下1.2 正式环境下2、docker支持的五种存储驱动3、各类存储驱动的说明3.1 AUFS3.2 OverlayFS3.3Devicemapper3.4 Btrfs3.5 ZFS4、存储驱动对比及适应场景1、查看docker的存储驱动1.1 测试环境下1.2 正式环境下2、docker支持的五种存...原创 2021-08-31 18:08:00 · 1283 阅读 · 0 评论 -
docker存储目录详解
目录1、docker存储目录下各子目录详解2、image目录详解本次以Centos7.4版本为例,本地镜像的存储目录:/var/lib/docker/1、docker存储目录下各子目录详解[root@localhost ~]# cd /var/lib/dockercontainers 【里面都是容器,每启动一个容器便会在这里记录】image 【默认里面只有一个overlay2目录】/var/lib/docker..原创 2021-08-31 17:48:06 · 15445 阅读 · 0 评论 -
docker镜像的读写层的工作原理
目录1、原理介绍2、读写层介绍2.1 写时复制-CoW2.2 用时配置1、原理介绍事实上当我们使用镜像启动一个容器的时候,我们其实是可以在容器里随意读写的,从结果上看,似乎与镜像的只读特性相悖。如下图所示:其实可以看到在镜像的最上层,还有一个读写层。而这个读写层,即在容器启动时为当前容器单独挂载。每一个容器在运行时,都会基于当前镜像在其最上层挂载一个读写层。而用户针对容器的所有操作都在读写层中完成。一旦容器销毁,这个读写层也随之销毁。2、读写层介绍...原创 2021-08-15 14:00:18 · 818 阅读 · 0 评论 -
docker镜像的分层特性
在说docker的文件系统之前,我们需要先想清楚一个问题。我们知道docker的启动是依赖于image,docker在启动之前,需要先拉取image,然后启动。多个容器可以使用同一个image启动。那么问题来了:这些个容器是共用一个image,还是各自将这个image复制了一份,然后各自独立运行呢?我们假设每个容器都复制了一份这个image,然后各自独立运行,那么就意味着,启动多少个容器,就需要复制多少个image,毫无疑问这是对空间的一种巨大浪费。事实上,在容器的设计当中,通过同一个Image启动的容原创 2021-08-15 13:55:51 · 194 阅读 · 0 评论 -
docker镜像的原理及优势
目录1、原理2、优势3、构建镜像过程详解3.2 RUN原理1、原理底层是内核,第二层是基础镜像,然后在基础镜像上每修改一次便会叠加一层,也就是说每当有数据变化就会独立一层出来并记录数据的变化,使用的原始镜像仍是最开始的Centos或debian或Ubuntu等的镜像,而且仍是共用宿主机的内核,这便是镜像的分层。通过docker history centos:6.9可看到每一层的数据变化[root@localhost ~]#docker history httpd:l.原创 2021-08-15 13:48:04 · 268 阅读 · 0 评论 -
mysql容器化下重置密码
场景:容器化部署mysql,没有映射my.cnf文件,还忘记密码,怎么修改?1、部署docker容器mysqldocker run -d --name 001 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.30【默认设置密码是123456】2、修改密码文件修改文件/etc/mysql/conf.d/docker.cnf而不是my.cnfdocker exec -it 001 bashcat /etc/mysql/conf.d/docker.原创 2021-08-15 13:39:20 · 499 阅读 · 0 评论 -
docker下mysql镜像初始化
1、介绍原理:当Mysql容器首次启动时,会在/docker-entrypoint-initdb.d目录下扫描.sh,.sql,.sql.gz类型的文件。如果这些类型的文件存在,将执行它们来初始化一个数据库。这些文件会按照字母的顺序执行。默认情况下它们会初始化在启动容器时声明的MYSQL_DATABASE变量中的数据库。MYSQL_DATABASE这个变量默认是不存在的,必须在启动容器时候声明或定义,否则就扫描/docker-entrypoint-initdb.d目录下进行初始化,如下所示:do..原创 2021-08-15 13:31:02 · 1032 阅读 · 0 评论 -
docker build报错:Failed to get D-Bus connection: Operation not permitted
使用centos7镜像创建容器后,可能会遇到这么一个问题,在里面使用systemctl启动服务报错。针对这个报错,我们接下来就分析下!# docker run -itd --name centos7 centos:7# docker attach centos7# yum install vsftpd# systemctl start vsftpdFailed to get D-Bus connection: Operation not permitted原因如下:...原创 2021-08-15 13:18:23 · 965 阅读 · 1 评论 -
制作镜像实例之healthcheck:URL
1、介绍通过URL访问的方式对容器的健康性进行检查 NGINX:172.17.0.2 提供web服务 对外提供的端口80 centos:172.17.0.3 使用URL进行访问 无 宿主机:192.168.11.45 映射的端口是8001 之所以使用centos容器测试是因为默认的NGINX容器没有..原创 2021-08-15 13:13:31 · 596 阅读 · 0 评论 -
制作镜像实例之healthcheck
1、介绍Dockerfile中使用HEALTHCHECK的形式有两种:HEALTHCHECK [options] CMD command(本次详细解释)HEALTHCHECK NODE 意思是禁止从父镜像继承的HEALTHCHECK生效下面我们主要介绍第一种形式的应用:HEALTHCHECK [options] CMD command中的options有三个参数可设定:interval:间隔(s秒、m分钟、h...原创 2021-08-15 12:34:48 · 5446 阅读 · 0 评论 -
制作镜像实例之ENTRYPOINT+CMD
目录1、介绍2、实验2.1 创建dockerfile文件存放目录2.2 修改dockerfile文件2.3 创建entrypoint.sh文件2.4 创建index.html2.5 创建镜像2.6 测试略1、介绍ENTRYPOINT :容器启动后执行的命令,使用此参数后初始命令不容易被覆盖ENTRYPOINT的格式和 RUN 指令格式一样,ENTRYPOINT 的目的和 CMD 一样,都是在指定容器启动程序及参数。ENTRYPOINT在...原创 2021-08-15 12:30:26 · 805 阅读 · 0 评论 -
制作镜像实例之ENV命令 - 设置环境变量
1、创建dockerfile文件存放目录mkdir /testcd /test2、创建tar.gz文件touch /root/{1..10}.txtcd /roottar zcvf test.tar.gz *.txt 【打包命令】mv test.tar.gz /test/ 【mv到和dockerfile文件在同一目录下】3、修改dockerfile文件[root@ybb test]# cat dockerfileFROM docker.io/centos:.原创 2021-06-27 16:40:58 · 1553 阅读 · 0 评论 -
制作镜像实例之ADD命令
1、说明【自带解压功能,向容器打包解压的常用命令】2、创建dockerfile文件存放目录mkdir /testcd /test3、创建tar.gz文件touch /root/{1..10}.txtcd /roottar zcvf test.tar.gz *.txt 【打包命令】mv test.tar.gz /test/ 【mv到和dockerfile文件在同一目录下】4、修改dockerfile文件[root@ybb test]# cat doc.原创 2021-06-27 16:32:51 · 382 阅读 · 0 评论 -
制作镜像实例之cp命令
1、创建dockerfile文件存放目录mkdir /testcd /test2、修改dockerfile文件[root@ybb test]# cat dockerfileFROM docker.io/centos:latestCOPY index.html /qq/ybb/[root@ybb test]#3、创建index.html文件【注意:index.html必须和dockerfile文件在同一目录下,否则创建失败】cd /testecho te.原创 2021-06-27 16:13:54 · 238 阅读 · 0 评论 -
dockerfile制作制作Centos7镜像
目录1、环境介绍2、编写dockerfile文件3、使用build构建镜像4、查看刚刚构建的镜像5、测试6、完成1、环境介绍 基础镜像 镜像内server 主机与容器映射端口 lambdaexpression/centos7.6.1810 sshd 8002:22 默认基础镜像centos7里面没有sshd服务,我们可以自己制作镜像将sshd服务原创 2021-06-27 16:05:37 · 1200 阅读 · 0 评论 -
dockerfile制作Centos6镜像
目录1、环境介绍2、编写dockerfile文件3、使用build构建镜像4、查看刚刚构建的镜像5、测试6、完成1、环境介绍 基础镜像 镜像内server 主机与容器映射端口 centos6.9 sshd 8001:22 默认基础镜像6.9里面没有sshd服务,我们可以自己制作镜像将sshd服务放进去。2、编写dockerfile文件.原创 2021-06-27 15:58:15 · 544 阅读 · 0 评论 -
联网升级docker版本
1、说明主机需要联网,需要配置好yum源2、更新yum缓存yum makecache fast3、查看 yum package 中 docker 的版本信息yum list docker-ce.x86_64 --showduplicates | sort -r 【方式一】yum list docker-ce --showduplicates | sort -r 【方式二】4、卸载旧版本yum remove docker \...原创 2021-06-27 15:40:06 · 384 阅读 · 0 评论 -
docker stop和docker kill
1、docker stop停止容器,默认允许容器中的程序有10秒时间以终止容器,docker stop执行的时候,会先向容器中PID为1的进程发送系统SIGTERM,然后等待容器中的应用程序终止执行。若等待时间到达设定或默认(10s)的超时时间,会继续发送SIGKILL系统 ,强制kill进程。在container中的应用程序,可以选择忽略和不处理SIGTERM信号,不过一旦超过时间,应用程序会强制被系统Kill,因为SIGKILL信号是直接发往系统内核的,应用程序没有机会处理。使用docker原创 2021-06-27 13:50:11 · 1628 阅读 · 0 评论 -
Linux和Ubuntu在docker上的支持
目录1、Linux的支持2、Ubuntu的支持1、Linux的支持 namespace 系统调用参数 隔离内容 内核版本 Mount CLONE_NEWNS 挂载点(文件系统) 2.4.19 UTC CLONE_NEWUTS 主机名和域名 2.6.原创 2021-06-27 13:29:39 · 369 阅读 · 0 评论 -
Dockerfile常用指令
目录1、介绍(详细见格式)2、格式2.1 COPY2.2 ADD 更高级的复制文件2.3 CMD 容器启动命令2.4 ENTRYPOINT 入口点2.5 ENV 设置环境变量2.6ARG 构建参数2.7 VOLUME 定义匿名卷2.8 EXPOSE 声明端口2.9 WORKDIR 指定工作目录3.0 USER 指定当前用户3.1 总结1、介绍(详细见格式)FROM 指定基础镜像(常用)RUN 用来执行命令行...原创 2021-01-31 16:52:14 · 288 阅读 · 0 评论 -
Dockfile制作镜像
目录1 简介1.1 介绍1.2 Dockerfile的基本结构1.3 Dockerfile文件说明1.4与commit对比2 实例1 简介1.1 介绍Dockerfile是一个包含用于组合映像的命令的文本文档。可以使用在命令行中调用任何命令。 Docker通过读取Dockerfile中的指令自动生成映像。 docker build命令用于从Dockerfile构建映像。可以在docker build命令中使用-f标志指向文件系统中任何位置的Docke...原创 2021-01-31 16:33:29 · 222 阅读 · 0 评论 -
docker镜像之Commit方式
1、docker镜像简介 我们都知道,操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载 root 文件系统为其提供用户空间支持。而 Docker 镜像(Image),就相当于是一个 root 文件系 统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu 16.04 最小系统的 root 文件 系统。 Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文 件外,还包含了一些为运行时准备的一些配置参数(如匿...原创 2021-01-20 21:30:28 · 769 阅读 · 1 评论 -
docker数据管理
数据卷作用:1、持久化容器运行过程中产生的数据文件(当容器删除,存在宿主机的数据文件不会删除,可持久化使用,但容器内的所有文件均删除)2、可多个容器间共享文件两种方式Docker内部以及容器之间管理数据,主要有两种方式:数据卷 【volume】 挂载主机目录 【通过主机映射的方式,在2.2.2.2部分介绍过】...原创 2021-01-12 21:56:26 · 117 阅读 · 0 评论 -
docker暴露多端口
目录1、将容器的不同端口映射出去1、将容器的不同端口映射出去(1)创建容器此处是以nginx镜像为例:[root@node03 ~]# docker run -d \> --name nginx01 \>-p 8010:80\ 将容器内的80端口映射出去> -p 8011:8011\ 将容器内的8011端口映射出去> nginxf8a47ece555aacd5e38bb55765645e0878db45608e8706fdb1cc01a...原创 2020-11-29 17:17:54 · 1779 阅读 · 0 评论 -
docker部署NGINX实例
目录1、使用默认主页1、使用默认主页(1)环境介绍 宿主机 容器 服务 172.16.201.181:80 172.17.0.2:80 nginx (2)查看nginx镜像并下载docker search nginx docker pull nginx(3)查看下载的nginx镜像docker images(4)启动一个指定端口80并命名ng原创 2020-11-29 16:50:38 · 207 阅读 · 0 评论 -
docker cp和主机映射
1、docker cp1.1 环境介绍 宿主机 容器 传输方式 IP地址 172.16.201.181/24 172.17.0.2/16 docker cp 目录 /test /test1 测试目录 /test ...原创 2020-11-29 16:09:29 · 382 阅读 · 0 评论 -
docker run和容器的简单操作
目录1、docker run相关知识1、docker run相关知识Docker run参数说明-d: 让容器在后台运行。--name: 对容器的命名-P: 将容器内部使用的网络端口映射到我们使用的主机上。-t: 在新容器内指定一个伪终端或终端。-i: 允许你对容器内的标准输入 (STDIN) 进行交互。-p: 绑定指定端口/bin/bash 覆盖容器的初始命令-h: 指定容器的主机名-e: 设置环境变量--env: 设置环境变量--restart=a原创 2020-11-18 20:56:59 · 184 阅读 · 0 评论 -
docker镜像硬核知识
1 docker镜像1.1 镜像加速鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装Docker 之后配置国内镜像加速。Docker中国官方镜像加速:https://registry.docker-cn.com编辑配置文件/etc/docker/daemon.json,这里使用的是阿里云镜像加速,该文件默认没有需创建。【注意:"registry-mirrors": ["https://0coisidb.mirror.aliyuncs.com"],双引号不能丢否则造成..原创 2020-11-18 20:28:53 · 205 阅读 · 0 评论 -
docker在线、离线安装、报错解决
1、Linux上注意事项Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10。 CentOS 7 满足最低 内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。镜像方面:在 Ubuntu/Debian 上有 UnionFS 可以使用,如 aufs 或者 overlay2 ,而 CentOS 和 RHEL 的内核中没有相关驱动。因此对于这类系统,一般使用 devicemapper 驱动利用 LVM 的一原创 2020-11-15 18:00:56 · 4920 阅读 · 0 评论 -
Docker 容器原理
1、原理简介镜像( Image )和容器( Container )的关系,就像是面向对象程序设计中的 类 和 实一样,镜像是静态的定义,容器是镜像运行时的实体,有自己的生命周期。容器可以被创建、启动、停止、删 除、暂停等。容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的 命 名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、自己的进程空间,甚 至自己的用户 ID 空间。容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一 个独立于宿主的系统下.原创 2020-11-15 17:32:25 · 751 阅读 · 0 评论 -
docker之Union FS 技术
1、Union FS 技术1.1 什么是Union FS联合文件系统(Union File System):它可以把多个目录(也叫分支)内容联合挂载到同一个目录下,而目录的物理位置是分开的。UnionFS允许只读和可读写目录并存,就是说可同时删除和增加内容。UnionFS应用的地方很多,比如在多个磁盘分区上合并不同文件系统的主目录,或把几张CD光盘合并成一个统一的光盘目录(归档)。另外,具有写时复制(copy-on-write)功能UnionFS可以把只读和可读写文件系统合并在一起,虚拟上允许只读文原创 2020-11-15 16:41:16 · 713 阅读 · 1 评论 -
docker简介
docker简介docker的重要性不言而喻1.1 Docker与传统虚拟化的对比传统虚拟机技术是虚拟出一套硬件 后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;而容器内的应用进程 直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。容器的优势:1)容器能提供接近宿主机的性能,而虚拟机会损害一部分宿主机的性能2)启动快,同样虚机可能需要20s,但启动容器只需要1s3)传统虚拟化需要硬件cpu的支持,容器不需要4)容器是基于内核的虚拟化Docker原创 2020-11-10 21:38:33 · 203 阅读 · 0 评论