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镜像

docker 搭建私有仓库和制作镜像_第1张图片


1.2 启动owncloud镜像

docker 搭建私有仓库和制作镜像_第2张图片

--link :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参数,终端有很多输出,并且会卡在终端

docker 搭建私有仓库和制作镜像_第3张图片

docker 搭建私有仓库和制作镜像_第4张图片

如果只用-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

查看是否安装好了

docker 搭建私有仓库和制作镜像_第5张图片


2.2  磁盘挂载,保存harbor


2.3 修改配置文件

docker 搭建私有仓库和制作镜像_第6张图片

docker 搭建私有仓库和制作镜像_第7张图片


2.4  安装harbor

docker 搭建私有仓库和制作镜像_第8张图片

 docker 搭建私有仓库和制作镜像_第9张图片

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


2.5 浏览器访问

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

docker 搭建私有仓库和制作镜像_第10张图片

docker 搭建私有仓库和制作镜像_第11张图片


2.6 新建项目

docker 搭建私有仓库和制作镜像_第12张图片


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

 docker 搭建私有仓库和制作镜像_第13张图片


2.8  将要上传的镜像打标签

docker 搭建私有仓库和制作镜像_第14张图片

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


2.9 登录harbor仓库

docker 搭建私有仓库和制作镜像_第15张图片


2.10 上传镜像


2.11 浏览器查看

docker 搭建私有仓库和制作镜像_第16张图片


2.12 拉取镜像 

docker 搭建私有仓库和制作镜像_第17张图片


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


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

3.1 编写Dockerfile

docker 搭建私有仓库和制作镜像_第18张图片


3.2 使用build 制作镜像

docker 搭建私有仓库和制作镜像_第19张图片


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

docker 搭建私有仓库和制作镜像_第20张图片


3.4 测试

docker 搭建私有仓库和制作镜像_第21张图片

docker 搭建私有仓库和制作镜像_第22张图片


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

打标签

docker 搭建私有仓库和制作镜像_第23张图片

 登录:

docker 搭建私有仓库和制作镜像_第24张图片

推送:

docker 搭建私有仓库和制作镜像_第25张图片

查看:

docker 搭建私有仓库和制作镜像_第26张图片


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

docker 搭建私有仓库和制作镜像_第27张图片


4.2 使用build 制作镜像

docker 搭建私有仓库和制作镜像_第28张图片


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

docker 搭建私有仓库和制作镜像_第29张图片


4.4 测试

docker 搭建私有仓库和制作镜像_第30张图片

docker 搭建私有仓库和制作镜像_第31张图片


4.5 推送镜像

 docker 搭建私有仓库和制作镜像_第32张图片

docker 搭建私有仓库和制作镜像_第33张图片 


 

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指的是当容器启动的时候指定的命令

你可能感兴趣的:(容器,docker,容器,运维)