当前位置: 首页 > news >正文

运维高级学习--Docker(二)

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

#拉取mysql5.6和owncloud镜像
[root@localhost ~]# docker pull mysql:5.6
[root@localhost ~]# docker pull owncloud
[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
mysql        5.6       dd3b2a5dcb48   20 months ago   303MB
owncloud     latest    327bd201c5fb   4 years ago     618MB
#启动容器
[root@localhost ~]# docker run -itd --name mysql-5.6 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
[root@localhost ~]# docker run -itd --name owncloud --link mysql-5.6:mysql -p 8080:80 owncloud
#检验是否启动
[root@localhost ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                   CREATED              STATUS              PORTS                                       NAMES
da34643ae050   owncloud    "docker-entrypoint.s…"   2 seconds ago        Up 1 second         0.0.0.0:8080->80/tcp, :::8080->80/tcp       owncloud
9f1fdfde8a34   mysql:5.6   "docker-entrypoint.s…"   About a minute ago   Up About a minute   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp   mysql-5.6

完成后可以访问ip:8080进入
在这里插入图片描述
登录成功页面:
在这里插入图片描述

2、安装搭建私有仓库 Harbor

安装docker编排工具docker-compose

#在GitHub上选择自己需要的版本下载安装
[root@localhost ~]# mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose
[root@localhost ~]# docker-compose version
Docker Compose version v2.20.3
#安装Harbor
[root@localhost ~]# tar xf harbor-offline-installer-v2.8.4.tgz -C /usr/local
[root@localhost ~]# cd /usr/local/harbor
[root@localhost ~]# cp harbor.yml.tmpl harbor.yml
[root@localhost ~]# vim harbor.yml

将这四行注释掉
在这里插入图片描述

#运行安装脚本
[root@localhost harbor]# ./install.sh
···
✔ ----Harbor has been installed and started successfully.----

在主机上添加域名解析
进入C:\Windows\System32\drivers\etc\hosts文件添加

192.168.1.30 harbor.openlab.cn

随后访问harbor.openlab.cn
在这里插入图片描述

登录成功后如下页面
在这里插入图片描述

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

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

[root@harbor ~]# mkdir nginx
[root@harbor ~]# cd nginx/
[root@harbor nginx]# mkdir dest
[root@harbor dest]# echo "dockerfile test page,hello">index.html
[root@harbor nginx]# vim Dockerfile
FROM centos:7
MAINTAINER "dest <destmail@163.com>"
ADD http://nginx.org/download/nginx-1.15.8.tar.gz /usr/local/src/
COPY index.html /usr/share/nginx/html
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]
#构建镜像
[root@harbor nginx]# docker build -t nginx:v1.1 ./
#检验
[root@harbor nginx]# docker images
REPOSITORY                      TAG       IMAGE ID       CREATED         SIZE
nginx                           v1.1      3da136ecc289   5 seconds ago   205MB
#添加harbor仓库为信任地址
[root@harbor ~]# vim /etc/docker/daemon.json 
{"registry-mirrors": ["https://registry.docker-cn.com"],"insecure-registries": ["192.168.1.30"],"insecure-registries": ["harbor.openlab.cn"]
}
#把要上传的镜像打上标签
[root@harbor ~]# docker tag nginx:v1.1 harbor.openlab.cn/dest/nginx:v1.1
#登录harbor仓库
[root@harbor ~]# docker login harbor.openlab.cn
Username: admin
Password: Login Succeeded
#将打上标签之后的镜像推送到私有仓库中
[root@harbor ~]# docker push harbor.openlab.cn/dest/nginx:v1.1

检验是否推送成功
在这里插入图片描述

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)验证镜像。

#拉取centos 6镜像
[root@harbor ~]# docker pull centos:6
#创建存放Dockerfile的目录
[root@harbor ~]# mkdir lamp
[root@harbor ~]# cd lamp
[root@harbor lamp]# vim Dockerfile
FROM centos:6
MAINTAINER "dest <destmail@163.com>"
RUN yum install -y httpd mysql mysql-server php php-mysql pgp-gd
EXPOSE 80/tcp
EXPOSE 3306/tcp
CMD service httpd start && service mysqld start && /bin/bash
#构建lamp镜像
[root@harbor lamp]# docker build -t lamp:v1.1 ./
#为要上传的镜像打上标签
[root@harbor lamp]# docker tag lamp:v1.1 harbor.openlab.cn/dest/lamp:v1.1
#登录到harbor仓库
[root@harbor ~]# docker login harbor.openlab.cn
#把镜像推送到harbor私有仓库
[root@harbor ~]# docker push harbor.openlab.cn/dest/lamp:v1.1

检验是否推送成功
在这里插入图片描述

http://www.lryc.cn/news/136991.html

相关文章:

  • QT的核心——信号与槽
  • 【业务功能篇73】web系统架构演变-单体-集群-垂直化-服务化-微服务化
  • MyCAT命令行监控
  • 【python】正则表达式匹配数据
  • 【C++】用Windows API在控制台实现选择选项
  • Golang 批量执行/并发执行
  • 使用go语言、Python脚本搭建一个简单的chatgpt服务网站。
  • 基于java会议室预约系统设计与实现
  • Ubuntu18.04 交叉编译curl-7.61.0
  • Android相机-HAL子系统
  • PostgreSQL-研究学习-介绍与安装
  • 【Unity细节】Unity制作汽车时,为什么汽车会被弹飞?为什么汽车会一直抖动?
  • Android初学之android studio运行java/kotlin程序
  • 使用自定义 C ++类扩展 TorchScript
  • UITableView自定义TableHeader和TableFooter
  • 【TA 挖坑03】雾效 | 透光材质 | Impostor | 厚度转球谐
  • 案例-基于MVC和三层架构实现商品表的增删改查
  • Java——一个简单的计算器程序
  • 自定义滑动到底部触发指令,elementUI实现分页下拉框
  • 【Windows 常用工具系列 10 -- linux ssh登录脚本输入密码】
  • C#的索引器
  • 软件配置安装(破解)--- maven下载配置
  • python解析小说
  • SQL Server 执行报错: “minus“ 附近有语法错误。
  • kali linux查看局域网下所有IP,并对指定IP攻击
  • 基于QCC_BES 平台的LMS自适应滤波算法实现
  • 大疆飞卡30运载无人机技术分享
  • 单片机的串口通信
  • 【C/C++】STL学习所得
  • leetcode几个数组题