Docker
文章平均质量分 73
Docker
Ix Zheng
小学生
展开
-
Docker镜像篇(10)- 综合练习 - springboot项目制作镜像
mysql镜像制作[root@docker ~]# docker run --rm --name first-mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.64bcd97f8848534b3a6ff461c49ab3b9b49347b05e5bfc68e87d0ecfdbb491d71[root@docker ~]# docker ps -aCONTAINER ID IMAGE COMMAND原创 2020-12-18 21:29:52 · 212 阅读 · 0 评论 -
Docker镜像篇(9) - 镜像原理
1)镜像构造Docker镜像由bootfs和rootfs构造;bootfs包含了bootloader(引导加载程序)和 kernel(Linux内核)。用户是不能对这层作任何修改的。在容器启动之后,bootfs会被卸载以节约内存资源。rootfs位于bootfs之上,代表一个Docker容器在启动时(而非运行后)其内部进程可见的文件系统视角, 或者 Docker 容器的根目录。当然,该目录下含有 Docker 容器所需要的系统文件、工具、容器文件等。rootfs 包含4 个 image原创 2020-12-17 18:54:23 · 770 阅读 · 0 评论 -
Docker镜像篇(8) - 镜像仓库 - Harbor
Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是.原创 2020-12-16 18:54:32 · 416 阅读 · 0 评论 -
Docker镜像篇(7) - 镜像仓库 - 阿里云
网址https://www.aliyun.com/按照上图开始上传镜像修改镜像的名字,只有修改repository才可以上传成功,查看本地镜像上传至阿里云本地仓库删除本地镜像从阿里云下载镜像查看阿里云是否有此镜像...原创 2020-12-15 19:25:34 · 164 阅读 · 0 评论 -
Docker镜像篇(6) - 镜像仓库 - dockerhub
网址https://hub.docker.com/如何将创建的镜像上传dockerhub呢?修改镜像标签push关于镜像至刚刚创建的仓库注意:退出输入以下代码即可退出,此处先不要退出原创 2020-12-14 18:53:47 · 172 阅读 · 0 评论 -
Docker镜像篇(5) - 镜像导入导出
查看两个宿主机的当前镜像将tomcat打包为tomcat.tar语法: docker save -o 路径/镜像名.tar 镜像:版本从Node1将tomcat.tar文件传输到Node2的/root目录中在Node2中对tomcat.tar解压查看解压的镜像原创 2020-12-10 18:57:42 · 234 阅读 · 0 评论 -
Docker镜像篇(4) - 玩转Dockerfile指令 - ENV、RUN、CMD、ENTRYPOINT
ENV用于为镜像定义所需的环境变量,并可被kockerfile文件位于其后的其他指令所调用比如定义单个环境变量ENV DOC_ROOT /data/定义多个环境变量,使用“ \ ”隔开表示换行ENV DOC_ROOT=/data/ WEB_SERVER_PACKAGE=“nginx-1.19.2”编写Dockerfile文件,设置环境变量DOC_ROOT为/data/web/html/和WEB_SERVER_PACKAGE为"nginx-1.19.2",并在之后的指令中进行运用[root原创 2020-12-07 19:02:24 · 2553 阅读 · 0 评论 -
Docker镜像篇(3) - 玩转Dockerfile指令 - ADD、WORKDIR、VOLUME、EXPOSE
ADD基于URL路径,把你指定的文件下载到本地,并打包进镜像中下面继续编写dockerfile,添加ADD指令,下载nginx打包运行容器,发现并没有对下载的tar包解压刚刚我们发现从远程获取的tar包,在放入容器中时,并不自动在容器中进行解压,接下来我们尝试从本地上传的tar包能否解压,首先下载tar到宿主机中编写dockerfile文件构造镜像通过运行容器,可以发现tar包已经被解压WORKDIR用于为Dockerfile中所有的RUN、C原创 2020-12-03 18:28:26 · 2197 阅读 · 0 评论 -
Docker镜像篇(2) - 玩转Dockerfile指令 - FRM、MAINTAINER、LABEL、COPY
什么是dockerfile?Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。Docker通过读取Dockerfile中的指令自动生成映像。Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本映像,第一条指令必须是FROM。一个声明以#字符开头则被视为注释。Dockerfile 一般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令.FROMFROM,说明在哪个镜像的基础上构造镜像,必须在第一个非注释行,原创 2020-11-30 20:03:55 · 791 阅读 · 0 评论 -
Docker镜像篇(1) - 轻松制作镜像 - commit
如何使用容器创建镜像呢?首先我们先运行一个容器在/date/html目录里写一个简单的页面重新打开一个窗口1,查看运行的容器下面我们将刚刚修改的b1容器作为镜像提交,-p参数表示暂时停止容器,进行镜像制作查看当前镜像,发现没有标签和repository下面我们根据刚刚的image id,赋予repository和标签(v0.1是标签,slowlove是repository,ix是仓库名),再次查看镜像我们也可以对其镜像设置为最新镜像,可以看到镜像id一样原创 2020-11-28 11:49:50 · 220 阅读 · 0 评论 -
Docker基础篇(12)- 综合练习 - tomcat容器部署springboot项目连接mysql容器
mysql容器创建mysql容器,使用volume将数据库的data与本地目录关联,密码为123456连接大黄,创建数据库slowlove,设计表PersonSET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0; DROP TABLE IF EXISTS `person`;CREATE TABLE `person` ( `id` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci NO原创 2020-11-24 18:49:50 · 295 阅读 · 0 评论 -
Docker基础篇(11)- 容器网络 - 暴露端口方式
在进行暴露端口服务之前,我们先制作一个镜像,用于练习制作镜像,查看本地镜像运行容器查看ip连接服务关闭容器,下面开始四种暴露端口方式指定容器内部端口“ -p ”指定容器内部端口为80查看容器内部ip连接容器内部ip,那么如何在外部访问该服务呢?我们可以进入容器,查看容器的暴露端口查看容器myweb的端口也可以看出,宿主机对应的该服务地址为“ 0.0.0.0:32768 ”,即任意宿主机地址都可以访问查看宿主机端口映射,原创 2020-11-23 19:37:11 · 11405 阅读 · 0 评论 -
Docker基础篇(10)- 容器网络 - 网络模型
Docker容器网络通过网络名称空间隔离,之后会将名称空间封闭容器不创建任何网络设备,只有lo作为容器内部通信使用,无法与容器之外进行通信桥接容器默认的网络模型为桥接 桥接的时候,创建一对虚拟网络设备,一半放在容器上,一半放在doker0桥上。 通过这对虚拟网络设备进行网络通信联盟式容器现有一个容器A,拥有自己的网络名称空间另一个容器B可以共享容器的网络名称空间容器A和容器B使用lo本地内部通信首先创建容器b1[root@localhost ~]# docker r原创 2020-11-22 12:02:01 · 1196 阅读 · 1 评论 -
Docker基础篇(9)- 多个容器共享一块卷、操作Volume命令
多个容器共享一块卷指定b3容器来和b2容器共享一块卷,b2容器先不要关闭[root@localhost ~]# docker run --name b3 -it --rm -v /data/volumes/b2:/data busybox查看文本存在/ # ls /data/index.html添加文本信息,并查看/ # echo “b3 is coming” >> /data/index.html/ # cat /data/index.htmlbusybox httpd se原创 2020-11-20 13:54:39 · 2415 阅读 · 0 评论 -
Docker基础篇(5)- Docker容器常用基础命令
运行容器运行容器命令docker run 镜像[:tag]运行一个busybox容器,此时会自动将下载,如果本地仓库没有镜像docker run busybox运行tomcat容器docker run tomcat查看当前运行的容器docker ps或者docker container ls因为tomcat运行,占用一个窗口,重新打开一个窗口我们只看到了tomcat让容器,刚刚创建的容器busybox容器呢?因为容器运行完毕命令,即进入exited状态,tomcat容器原创 2020-11-20 07:31:07 · 361 阅读 · 0 评论 -
Docker基础篇(8)- Volume简述、指定宿主机目录和容器目录创建volume
简述Volume在学习volume之前,我们需要思考一个问题容器删除之后,其数据也会丢失,那么如何去解决容器删除,数据不丢失呢?这个时候就有了存储卷,那么什么是存储卷呢?我们可简单理解成在宿主机上找一个文件系统(主机级的)之上存在某一目录,而后把这个目录直接与容器内部的文件系统之上的某一目录建立所谓的绑定关系。随后容器内的进程向目录中写数据的时候是直接写在宿主机的目录上。实现容器内的数据保存时可以绕过容器内部文件系统的限制从而与宿主机的文件系统建立了关系。二者是同步的。可以使得连个隔离的容器原创 2020-11-18 22:03:19 · 8815 阅读 · 0 评论 -
Docker基础篇(7)- Docker运行nginx、redis容器
Nginx容器首先创建一个nginx1容器,-d为后台运行查看当前运行的容器查找nginx的ip宿主机访问容器,连接ip关闭nginx容器Redis容器在后台运行名为redis1的redis容器[root@localhost ~]# docker run --name redis1 -d redis查看运行的容器进入redis1的操作界面查看容器redis1的日志关闭容器...原创 2020-11-16 19:31:51 · 299 阅读 · 0 评论 -
Docker基础篇(6)- Docker容器状态、docker run常用参数
下图是我对容器状态的理解下面对容器的几种状态进行操作首先运行一个容器docker run -it --name b1 busybox/ # exit查看容器状态处于exiteddocker ps -a此时使用start命令可以将容器b1从die状态重新启动为running状态,并进行交互docker start -i b1在另一个窗口即可查看b1容器已经在运行docker ps此时我们可以将running状态的b1容器变为pause阻塞状态docker pause b1b原创 2020-11-14 12:10:57 · 3188 阅读 · 0 评论 -
Docker基础篇(4)- Docker镜像常用命令
在学习Docker的时候,我们经常使用busybox镜像作为我们的练习镜像。简述busybox镜像Busybox是一个集成了一百多个最常用Linux命令和工具的软件工具箱,它在单一的可执行文件中提供了精简的Unix工具集。搜索指定镜像搜索busybox镜像docker search busybox查看当前已经安装的镜像,有两个命令都可以做到docker image ls 或者docker images从下图中,我们可以看到是刚刚使用的hello-world镜像,有镜像的ID原创 2020-11-10 08:03:12 · 344 阅读 · 0 评论 -
Docker基础篇(3)- Docker基础概念 - 镜像、容器、仓库
容器与镜像为什么要把镜像和容器一块讲,因为它们之间的关系太过紧密。镜像: 带有容器启动基础信息的模板容器: 镜像的可以运行实例那么如何更好的理解镜像与容器之间的关系呢?就拿西湖醋鱼来说,把做好的西湖醋鱼比作运行容器,那制作西湖醋鱼的完整步骤就是镜像。镜像记录着,你需要西湖的鱼,西湖的水,多少克的草鱼肉、醋、黄酒、酱油、白醋以及火候大小、时间卡点等等。要想做出正宗的西湖醋鱼只需要按照镜像中记录的信息去照做即可。这就是镜像和容器之间的关系。仓库、镜像、容器之间的关系Docker基础篇(原创 2020-11-07 12:26:26 · 411 阅读 · 1 评论 -
Docker基础篇(2)- Docker基础概念 - 仓库
在学习Docker之前,需要先了解三个概念 镜像 、容器 、仓库;本节先介绍仓库。知道Maven仓库的,这一节非常简单。先看一下仓库结构Docker镜像存储在镜像仓库服务(Image Registry)当中。镜像仓库服务(Image Registry)包含多个镜像仓库(Image Repository)。同样,一个镜像仓库中可以包含多个镜像。每个仓库可以包含多个标签,每个标签对应一个镜像。为了更好理解这句话,可以看下图。mysql是一个仓库,tomcat是一个仓库,nginx是一个仓原创 2020-11-07 11:20:23 · 298 阅读 · 0 评论 -
Docker基础篇(1)- Docker安装 - 教你傻瓜式安装Docker
Docker基础篇(1)- Docker安装原创 2020-11-04 21:48:14 · 558 阅读 · 0 评论