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

1.从 docker hub拉取nginx作为基础镜像

sudo docker pull nginx

image.png

2.创建一个容器并运行

sudo docker run --name=my_nginx1 -p 8080:80 -d nginx

image.png

3.获取容器配置文件

sudo docker ps

image.png

  • 3cfb1fb031da是容器id
sudo docker exec -it [容器id或者名字] /bin/bash

cat /etc/nginx/conf.d/default.conf

image.png

4.创建并修改nginx配置文件

  • default.conf
    image.png

  • Dockerfile
    image.png

  • index.html
    image.png

5.创建镜像,查看结果

  • 构建自己的nginx
sudo docker build -t mynginx .

image.png

  • 用该镜像构建一个容器
sudo docker run  -p 7070:8181 -t mynginx /bin/bash

image.png

image.png

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

1.拖取一个mysql镜像

sudo docker pull mysql:5.7

image.png

2.编辑构建mysql镜像所需的文件

  • Dockerfile
    image.png

  • setup.sh
    image.png

  • schema.sql
    image.png

  • privileges.sql
    image.png

3.构建自己的mysql镜像

sudo docker build -t mysql_tao .

image.png

4.运行容器

sudo docker run --name ltsql -p 3306:3306  -d mysql_tao

image.png

5.查看日志信息

sudo docker logs ltsql

image.png

6.使用指定用户名和密码进入数据库

  • 进入创建的容器
sudo docker exec -it ltsql /bin/bash
  • 使用设定的用户名和密码进入数据库
mysql -u root -p

image.png

三、问题与困扰

1、第一个实验都做完却无法访问网页,显示连接被重置:载入页面时与服务器的连接被重置。
2、无法用自己设的账号进入mysql,输入密码显示Access denied for user 'tao'@'localhost' (using password: YES)