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
相关推荐
阿华的代码王国5 分钟前
MySQL ------- 索引(B树B+树)
数据库·mysql
NiNg_1_23423 分钟前
使用Docker Compose一键部署
运维·docker·容器
萠哥啥都行28 分钟前
Linux安装Docker以及Docker入门操作
运维·docker·容器
王哲晓29 分钟前
Linux通过yum安装Docker
java·linux·docker
liupenglove40 分钟前
golang操作mysql利器-gorm
mysql·golang
叫我:松哥1 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap
汀、人工智能1 小时前
修改Docker默认存储路径,解决系统盘占用90%+问题(修改docker root dir)
docker·容器
单字叶2 小时前
MySQL数据库
数据库·mysql
吃面不喝汤662 小时前
如何配置和使用自己的私有 Docker Registry
运维·docker·容器
just-julie2 小时前
MySQL面试题——第一篇
数据库·mysql