Docker 练习2 安装MySQL

一、实验要求

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

2、安装搭建私有仓库 Harbor

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

(1)基于centos基础镜像;

(2)指定作者信息;

(3)安装nginx服务,将提供的dest目录(提供默认主页index.html)传到镜像内,并将dest目录内的前端文件复制到nginx的工作目录;

(4)暴露80端口;

(5)设置服务自启动。

(6)验证镜像。

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

二、实验步骤

1.使用mysql:5.6和 owncloud 镜像,构建一个个人网盘
bash 复制代码
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# docker pull mysql:5.6
[root@localhost ~]# docker pull owncloud
[root@localhost ~]# docker run -d --name db --env MYSQL_ROOT_PASSWORD=123456 mysql:5.6
[root@localhost ~]# docker run -d --name owncloud -p 80:80 --link db:db owncloud

1.1 在浏览器中输入网盘服务器的IP地址,进行账号注册

1.2 注册完成,登录账号

1.3 登录成功,并上传测试文件

1.4 查看上传成功的文件

2.安装搭建私有仓库 Harbor
bash 复制代码
2.1 上传Harbor离线安装包
[root@localhost ~]# ll
[root@localhost ~]# tar xf harbor-offline-installer-v2.4.1.tgz
[root@localhost ~]# ls
[root@localhost ~]# cd harbor/
[root@localhost ~]# cp harbor.yml.tmpl harbor.yml

2.2 修改配置文件
[root@localhost harbor]# vim harbor.yml
//这里改动三个地方:hostname、port、注释https的内容
hostname: harbor.openlab.cn
http:
  port: 80
#https:
  #https port for harbor, default is 443
 #port: 443
  #The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

2.3 安装Harbor
[root@localhost harbor]# ./install.sh
[+] Running 10/10
 ✔ Network harbor_harbor        Created                                                                                 0.0s 
 ✔ Container harbor-log         Started                                                                                 0.3s 
 ✔ Container redis              Started                                                                                 0.9s 
 ✔ Container harbor-portal      Started                                                                                 0.5s 
 ✔ Container registry           Started                                                                                 0.8s 
 ✔ Container harbor-db          Started                                                                                 1.0s 
 ✔ Container registryctl        Started                                                                                 0.9s 
 ✔ Container harbor-core        Started                                                                                 1.1s 
 ✔ Container harbor-jobservice  Started                                                                                 1.5s 
 ✔ Container nginx              Started                                                                                 1.6s 
✔ ----Harbor has been installed and started successfully.----
安装完成之后再浏览器中访问,默认账号为admin、密码为Harbor12345

2.3 在浏览器中访问Harbor

2.4 登录成功,创建用户tom

2.5 新建test项目,且添加用户tom

bash 复制代码
 2.6 修改daemon.json配置文件
[root@localhost harbor]# vim /etc/docker/daemon.json
{
  "registry-mirrors":["https://registry.docker-cn.com"],
  "insecure-registries":["192.168.64.3"],
  "insecure-registries":["harbor.openlab.cn"]
}

2.7 修改hosts配置文件
[root@localhost harbor]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.64.3 harbor.openlab.cn

2.8 更改本地主机名
[root@localhost harbor]# hostnamectl set-hostname harbor.openlab.cn

2.9 重启服务登录
[root@localhost harbor]# systemctl restart docker 
[root@localhost harbor]# docker-compose up -d
[+] Running 9/7
 ✔ Container harbor-log         Running                                                                                 0.0s 
 ✔ Container harbor-portal      Started                                                                                 0.0s 
 ✔ Container registryctl        Running                                                                                 0.0s 
 ✔ Container harbor-db          Running                                                                                 0.0s 
 ✔ Container registry           Started                                                                                 0.0s 
 ✔ Container redis              Started                                                                                 0.0s 
 ✔ Container harbor-core        Started                                                                                 0.0s 
 ✔ Container nginx              Started                                                                                 0.0s 
 ✔ Container harbor-jobservice  Started                                                                                 0.0s

[root@localhost harbor]# docker login -u tom -p Harbor12345 192.168.64.3
注意:如果在输入第二条命令docker-compose up -d报错:-bash: docker-compose: command not found,则可以参考以下解决方案
bash 复制代码
1.从官网下载docker-compose插件
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

2.赋予该插件执行权限
chmod +x /usr/local/bin/docker-compose

3.查看docker-compose版本信息
docker-compose --version
3.编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库
bash 复制代码
3.1 Dockerfile内容如下
FROM centos:7
MAINTAINER "yuchen <yuchen@domain.com>"
COPY epel.repo /etc/yum.repos.d
RUN yum install -y nginx
COPY index.html /usr/share/nginx/html/
 
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]

3.2 制作镜像nginx:v1.1
[root@harbor nginx]# docker build -t nginx:v1.1 ./

3.3 验证镜像
[root@localhost nginx]# docker run -p 8080:80 --name ng111 nginx:v1.1
[root@localhost nginx]# docker ps | grep ng111
a95b39e9e7ce   nginx:v1.1                           "/usr/sbin/nginx -g ..."   8 minutes ago   Up 8 minutes              0.0.0.0:8080->80/tcp, :::8080->80/tcp   ng111

3.4 上传镜像至Harbor
[root@localhost ~]# docker tag nginx:v1.1 node1.openlab.cn/test/nginx:v1.1
[root@localhost ~]# docker push node1.openlab.cn/test/nginx:v1.1

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

bash 复制代码
4.1 Dockerfile文件如下
FROM centos:7
MAINTAINER "1711582538 <1711582538@qq.com>"
RUN yum install -y httpd mariadb-server php php-mysql php-gd
RUN echo "welcome to my pages" > /var/www/html/index.html
EXPOSE 80
EXPOSE 3306
CMD ["httpd","-DFOREGOUND;"]

4.2 验证镜像
FROM centos:7
MAINTAINER "1711582538 <1711582538@qq.com>"
RUN yum install -y httpd mariadb-server php php-mysql php-gd

RUN mkdir -p /scripts
COPY dd.sh /scripts
WORKDIR /scripts
RUN chmod +x dd.sh
RUN ./dd.sh
EXPOSE 80
EXPOSE 3306

#!/bin/bash

chown -R mysql:mysql /var/lib/mysql
mysql_install_db --user=mysql > /dev/null

mysql_sage --user=mysql &
/usr/sbin/httpd -D FOREGROUND

4.3 编辑文件
[root@harbor lamp]# docker build -t lamp:v1.1 ./
[root@lharbor lamp]# docker run -it -p 88:80 lamp:v1.1 
[root@lharbor lamp]# cd /var/www/html/
[root@harbor lamp]# vim index.php

<?php
phpinfo();
?>

4.4 上传镜像
[root@harbor ~]# docker tag lamp:v1.1 node1.openlab.cn/test/lamp:v1.1
[root@harbor ~]# docker push node1.openlab.cn/test/lamp:v1.1
相关推荐
昌sit!3 小时前
K8S node节点没有相应的pod镜像运行故障处理办法
云原生·容器·kubernetes
Yaml44 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
追风林4 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
A ?Charis6 小时前
Gitlab-runner running on Kubernetes - hostAliases
容器·kubernetes·gitlab
Hsu_kk6 小时前
MySQL 批量删除海量数据的几种方法
数据库·mysql
编程学无止境6 小时前
第02章 MySQL环境搭建
数据库·mysql
城南vision6 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge6 小时前
Docker篇(Docker Compose)
运维·docker·容器
knight-n6 小时前
MYSQL库的操作
数据库·mysql
北漂IT民工_程序员_ZG7 小时前
k8s集群安装(minikube)
云原生·容器·kubernetes