第2次实践作业

实验环境:腾讯云学生机ubuntu16.04

(1)实现一个自定义的web容器服务

1.在本地编写Dockerfile配置

 

 2.上传至服务器环境

3.通过dockerfile文件构建镜像

4.运行容器

5.更改apache的默认端口并重启:

6.在本地浏览器访问服务器对应端口:

 

(2)实现一个自定义的web容器服务

1.在本地编写4个文件:

Dockerfile:

FROM mysql

MAINTAINER czh "1371214566@qq.com"
#设置免密登录
ENV MYSQL_ALLOW_EMPTY_PASSWORD yes
     
#将所需文件放到容器中
COPY setup.sh /mysql/setup.sh
COPY schema.sql /mysql/schema.sql
COPY privileges.sql /mysql/privileges.sql
     
#设置容器启动时执行的命令
CMD ["sh", "/mysql/setup.sh"]

privileges.sql:

use mysql;
select host, user from user;
-- 新建用户为如下命令:
create user czh identified by '12345';
-- 将docker_mysql数据库的权限授权给创建的czh用户,密码为12345:
grant all on db.* to docker@'%' identified by '12345' with grant option;
-- use privileges
flush privileges;

schema.sql:

-- 创建数据库
create database `db` default character set utf8 collate utf8_general_ci;
 
use db;
 
-- 建表
DROP TABLE IF EXISTS table1;
 
CREATE TABLE table1 (
 `number` varchar(20) NOT NULL,
 `name` varchar(20) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
-- 插入数据
INSERT INTO table1 (`number`, `name`)
VALUES
('031702635','czh');

 

setup.sh:
#!/bin/bash
set -e
 
#查看mysql服务的状态,方便调试,这条语句可以删除
echo `service mysql status`
 
echo '1.启动mysql....'
#启动mysql
service mysql start
sleep 3
echo `service mysql status`
 
echo '2.开始导入数据....'
#导入数据
mysql < /mysql/schema.sql
echo '3.导入数据完毕....'
 
sleep 3
echo `service mysql status`
 
#重新设置mysql密码
echo '4.开始修改密码....'
mysql < /mysql/privileges.sql
echo '5.修改密码完毕....'
 
#sleep 3
echo `service mysql status`
echo `mysql容器启动完毕,且数据导入成功`
 
tail -f /dev/null

2.上传4个文件至服务器:

 

3.构建镜像

 

4.开启容器:

 

posted @ 2020-04-24 19:43  计6名宿王火火火  阅读(180)  评论(0编辑  收藏  举报