2020系统综合实践 第2次实践作业

一、 实现一个自定义的web容器服务

  • 拉取nginx镜像

        sudo docker pull nginx
    

  • docker images查看本地镜像列表,确认成功拉取nginx镜像

  • 创建容器

        sudo docker run -it nginx /bin/bash
    
  • 先将default.conf复制出来修改,再将原文件覆盖。监听的端口号从80改为了2400,Web默认目录,从/usr/share/nginx/html改为/html/

        sudo docker cp 74ad922d8a8e:/etc/nginx/conf.d/default.conf .
    

  • 创建dockerfile文件,dockerfile文件内容如下

        from nginx
        #base image
    
        copy default.conf /etc/nginx/conf.d/
        # cover file
    
        copy index.html /html/
        # copy my file
    
        maintainer fwh<https://www.cnblogs.com/fwhdbk/>
        #author
    
        expose 8000
        #expose port 8000
    
  • 构建镜像

        sudo  docker build -t mynginx .
    

  • 创建容器验证结果

        sudo docker run --name my_nginx -p 8000:2400 -d mynginx
    
  • 访问浏览器

二、实现一个自定义的数据库容器服务

  • pull一个mysql镜像

        sudo docker pull mysql
    

  • 创建命令文档

    • dokerfile:
          FROM mysql
      
          #作者信息
          MAINTAINER by fwh<https://www.cnblogs.com/fwhdbk/>
      
          #设置root密码
          ENV MYSQL_ROOT_PASSWORD 6666
      
          #设置不可免密登录
          ENV MYSQL_ALLOW_EMPTY_PASSWORD no
      
          ENV MYSQL_DATABASE docker_mysql
      
          #为docker_mysql创建新用户,该用户被授予操作docker_mysql的所以权限
          ENV MYSQL_USER=docker
          ENV MYSQL_PASSWORD=123456
      
          #将所需文件放到容器中
          COPY schema.sql /mysql/schema.sql
      
    • schema.sql
          -- 创建数据库
          create database `docker_mysql` default character set utf8 collate utf8_general_ci;
      
          use docker_mysql;
      
          -- 建表
          DROP TABLE IF EXISTS test;
      
          CREATE TABLE test (
           `id` bigint(20) NOT NULL,
           `name` varchar(255) DEFAULT "",
           `email` varchar(255) DEFAULT NULL
          ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
          -- 设置数据库引擎和字符编码规则(UTF-8)
      
          -- 插入数据
          INSERT INTO test (`id`, `name`,`email`)
          VALUES
          (100,'john','www.han@example.com');
      
  • 创建镜像

        sudo docker build -t mysql:fwh .
    

  • 创建容器

        sudo docker run --name testsql -p 8000:2400 -d mysql:fwh
    
  • 进入容器

        sudo docker ps
    
        sudo docker exec -it 38a50a964f50 /bin/bash
    

  • root登录

        mysql -u root -p
    

  • 进入数据库docker_mysql,并利用source /mysql/schema.sql进行建表

  • 使用dockfile中创建的docker用户进行登录

        mysql -u docker -p
    

  • 对数据库docker_mysql 插入数据

  • 删除第一条数据

posted @ 2020-04-24 00:17  _FWH  阅读(189)  评论(0编辑  收藏  举报