docker 搭建私有仓库和制作镜像

目录

1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。

1.1 启动mysql镜像

1.2 启动owncloud镜像

1.3 浏览器访问

1.4 总结

2、安装搭建私有仓库 Harbor

2.1 下载docker-compose并赋予执行权限

2.2  磁盘挂载,保存harbor

2.3 修改配置文件

2.4  安装harbor

2.5 浏览器访问

2.6 新建项目

2.7 修改docker配置,添加harbor仓库为信任地址

2.8  将要上传的镜像打标签

2.9 登录harbor仓库

2.10 上传镜像

2.11 浏览器查看

2.12 拉取镜像 

3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:

3.1 编写Dockerfile

3.2 使用build 制作镜像

3.3 基于自己制作的镜像创建容器

3.4 测试

3.5 打标签推送镜像到私有仓库

3.6 总结

4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:

4.1 编写Dockerfile

4.2 使用build 制作镜像

4.3 基于自己制作的镜像创建容器

4.4 测试

4.5 推送镜像

4.6 总结


1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。

1.1 启动mysql镜像


1.2 启动owncloud镜像

--link <name or id>:alias

其中,name和id是源容器的name和id,alias是源容器在link下的别名。

当使用–link参数时,docker会自动在共享两个容器的变量。访问数据库的时候,不再是通过IP的方式来访问,而是通过容器名来访问.

docker run 的-p 参数

       -p, --publish ip:[hostPort]:containerPort | [hostPort:]containerPort
          Publish a container's port, or range of ports, to the host. 


1.3 浏览器访问


1.4 总结

 启动的时候

只用-it参数不用-d参数,终端有很多输出,并且会卡在终端

如果只用-d 参数有可能启动不了容器。用docker start xxx 也可能启动不了。这个时候docker  run

的时候可以用-itd 参数。 


2、安装搭建私有仓库 Harbor

2.1 下载docker-compose并赋予执行权限

下载地址:GitHub - docker/compose: Define and run multi-container applications with Docker

mv docker-compose-linux-x86_64 /usr/local/bin
cd /usr/local/bin/
chmod +x docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 docker-compose

查看是否安装好了


2.2  磁盘挂载,保存harbor


2.3 修改配置文件


2.4  安装harbor

 

harbor实际就是启动了一些docker服务 


2.5 浏览器访问

使用admin登录,密码为Harbor12345(初始密码在harbor.yml文件有记录)


2.6 新建项目


2.7 修改docker配置,添加harbor仓库为信任地址

 


2.8  将要上传的镜像打标签

将拉下来的镜像不做任何修改打一个标签为xxx:yyy 推送的时候会失败。


2.9 登录harbor仓库


2.10 上传镜像


2.11 浏览器查看


2.12 拉取镜像 


3、编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。具体要求如下:


(1)基于centos基础镜像;
(2)指定作者信息;
(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;
(4)暴露80端口;
(5)设置服务自启动。
(6)验证镜像。

3.1 编写Dockerfile


3.2 使用build 制作镜像


3.3 基于自己制作的镜像创建容器


3.4 测试


3.5 打标签推送镜像到私有仓库

打标签

 登录:

推送:

查看:


3.6 总结

(1)如果Dockerfile中需要的镜像本地没有,那么也可以在线拉取,且不会保存到本地,速度比较慢

(2)基于centos作为基础镜像,如果不指定标签,默认为centos8,官方不再维护,这个时候的yum源已经过期不能用了。所以如果在Dockerfile里面使用RUN yum  的话构建镜像的时候会失败。

(3)docker cp nginx-1.22.0-1.el7.ngx.x86_64.rpm centos701:/rpm   ---从宿主机复制东西给容器(centos701是容器名称也可以使用容器id,/rpm是容器内路径,从宿主机复制过来的东西会保存到此目录)

docker cp centos701:/rpm/nginx-1.22.0-1.el7.ngx.x86_64.rpm /root ---从宿主机复制东西给容器


4、Dockerfile快速搭建自己专属的LAMP环境,生成镜像lamp:v1.1,并推送到私有仓库。具体要求如下:


(1)基于centos:6基础镜像;
(2)指定作者信息;
(3)安装httpd、mysql、mysql-server、php、php-mysql、php-gd;
(4)暴露80和3306端口;
(5)设置服务自启动。
(6)验证镜像。

4.1 编写Dockerfile


4.2 使用build 制作镜像


4.3 基于自己制作的镜像创建容器


4.4 测试


4.5 推送镜像

 


4.6 总结

(1)centos6无法使用yum源的问题,需要添加一个源

curl -o /etc/yum.repos.d/CentOS-Base.repo https://www.xmpan.com/Centos-6-Vault-Aliyun.repo

将Centos-6-Vault-Aliyun.repo保存成CentOS-Base.repo

(2)docker run --name lamp1 -itd -p 9999:80 lamp:v1.1  之后容器没有启动并且用docker  start  命令也无法启动。试试用这个:docker run -d --name lamp1 -p 9999:80 lamp:v1.1 tail -f /dev/null。如果这样启动可能会有影响比如说Dockerfile 中的CMD指令不会执行

(3)Dockerfile 中 CMD指的是当容器启动的时候要执行的命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/84774.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件工程(九) UML顺序-活动-状态-通信图

顺序图和后面的一些图,要求没有用例图和类图那么高,但仍然是比较重要的,我们也需要按程度去了解。 1、顺序图 顺序图(sequence diagram, 顺序图),顺序图是一种交互图(interaction diagram),它强调的是对象之间消息发送的顺序,同时显示对象之间的交互。 下面以一个简…

android手机销售app(IDEA,SpringBoot,SSM,MySQL)+支付宝支付+全套视频教程

本项目亮点: 支付宝支付 eCharts柱状图图表数据统计 【项目功能介绍】 本系统包含后台管理和前端app双端系统&#xff0c;后台管理的功能包含: 登录, 退出, 修改管理员信息(基本信息与头像),资源管理,角色管理,资源权限分配,字典管理,用户管理,图书管理,订单管理,订单统计; a…

【ag-grid-vue】基本使用

ag-grid是一款功能和性能强大外观漂亮的表格插件&#xff0c;ag-grid几乎能满足你对数据表格所有需求。固定列、拖动列大小和位置、多表头、自定义排序等等各种常用又必不可少功能。关于收费的问题&#xff0c;绝大部分应用用免费的社区版就够了&#xff0c;ag-grid-community社…

学习ts(十一)本地存储与发布订阅模式

localStorage实现过期时间 目录 准备 安装 npm i rollup typescript rollup-plugin-typescript2// tsconfig.json"module": "ESNext","moduleResolution": "node", "strict": false, // rollup.config.js import …

研磨设计模式day13组合模式

目录 场景 不用模式实现 代码实现 有何问题 解决方案 代码改造 组合模式优缺点 思考 何时选用 场景 不用模式实现 代码实现 叶子对象 package day14组合模式;/*** 叶子对象*/ public class Leaf {/*** 叶子对象的名字*/private String name "";/**…

学习笔记230827--vue项目中,子组件拿不到父组件异步获取数据的问题

问题描述 父组件的数据是请求后台所得&#xff0c;因为是异步数据&#xff0c;就会出现&#xff0c;父组件的值传递过去了&#xff0c;子组件加载不到&#xff0c;拿不到值的问题。 下面从同步数据传递和异步数据传递开始论述问题 1. 父组件传递的是同步数据 父组件 <…

【C++】AVL树(高度平衡二叉树)

AVL树 概念AVL树节点定义AVL树节点插入AVL树四种旋转情况左单旋右单旋先左单旋再右单旋先右单旋后左单旋 元素的插入及控制平衡判断最后节点是否平衡 概念 二叉搜索树虽然可以缩短查找的效率&#xff0c;但如果数据有序或者接近有序二叉搜索树将退化为单支树&#xff0c;查找元…

kali开启SSH服务(简单无比)

我会一直陪着你 1.切换到管理员用户&#xff1a;2.启动SSH服务3.要在Kali Linux上启用SSH服务并修改配置文件&#xff0c;你可以按照以下步骤进行操作&#xff1a;4.查看SSH服务状态是否正常运行&#xff0c;命令为&#xff1a;注意&#xff1a;配置文件有些地方不同&#xff0…

IDC发布《亚太决策支持型分析数据平台评估》报告,亚马逊云科技位列“领导者”类别

日前&#xff0c;领先的IT市场研究和咨询公司IDC发布《2023年亚太地区&#xff08;不含日本&#xff09;决策支持型分析数据平台供应商评估》1报告&#xff0c;亚马逊云科技位列“领导者”类别。IDC认为&#xff0c;亚马逊云科技在解决方案的协同性、敏捷性、完整性、及时性、经…

css之文字连续光影特效、动画、scss

文章目录 效果图htmlscsscss 效果图 html <div><span>C</span><span>O</span><span>L</span><span>O</span><span>R</span><span>F</span><span>U</span><span>L</span&…

使用 wxPython 和 pymupdf进行 PDF 加密

PDF 文件是一种常见的文档格式&#xff0c;但有时候我们希望对敏感信息进行保护&#xff0c;以防止未经授权的访问。在本文中&#xff0c;我们将使用 Python 和 wxPython 库创建一个简单的图形用户界面&#xff08;GUI&#xff09;应用程序&#xff0c;用于对 PDF 文件进行加密…

(vue)el-table 怎么把表格列中相同的数据 合并为一行

(vue)el-table 怎么把表格列中相同的数据 合并为一行 效果&#xff1a; 文档解释&#xff1a; 写法&#xff1a; <el-table:data"tableData"size"mini"class"table-class"borderstyle"width:100%"max-height"760":span-…