zoukankan      html  css  js  c++  java
  • 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 插入数据

    • 删除第一条数据

  • 相关阅读:
    轻松记账方法(A)
    个人学习进度(第八周)
    个人学习进度(第八周)
    Web版四则运算
    个人学习进度(第七周)
    个人学习进度(第六周)
    数组的子数组和最大值
    个人学习进度(第五周)
    个人学习进度(第四周)
    个人学习进度(第三周)
  • 原文地址:https://www.cnblogs.com/fwhdbk/p/12752614.html
Copyright © 2011-2022 走看看