第2次实践作业

第2次实践作业

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

1、从Docker仓库拉取nginx作为基础镜像

sudo dokcer pull nginx

查看镜像:

sudo docker images

2、创建一个容器并运行

sudo docker run -id nginx /bin/bash

3、更改nginx的web存放目录
  • 复制对应nginx容器的配置文件,后续修改监听端口备用

    sudo docker cp <容器ID>:/etc/nginx/conf.d/default.conf .

    注:图中的3a为容器ID前两位(可以唯一标识)

    此时可在主机根目录下发现default.conf文件

  • 打开default.conf并修改

    sudo gedit default.conf

    listen为监听端口值,修改为4080;

    root为Web默认目录,修改为/usr/SilentSamsara

  • dockerfile:

  • 将Dockerfile、default.conf和网页文件放在相同目录下,执行指令:

    sudo docker build -t mynginx .

4、创建容器并验证结果

sudo docker run --name my_nginx -p 8866:4080 -d mynginx

浏览器中输入 :

localhost:8866/

(这个Web是在Web程序设计课程写的)

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

1、拉取一个mysql:5.7镜像

sudo docker pull mysql:5.7

2、准备工作:

Dockerfile:

setup.sh:

schema.sql:

​ 建立测试用数据库

privileges.sql:

​ 添加用户并授予权限

3、构建镜像并启动容器:

sudo docker build -t my_mysql .

sudo docker run --name msql -p 3306:3306 -d my_mysql

4、进入容器,登录,查询验证

docker exec -it 03 /bin/bash

mysql -u SilentSamsara_t -p

SilentSamsara_t为脚本添加的用户,需要输入创建用户时设定的密码(此处为admin)。

进入数据库(docker_mysql)查询

use docker_mysql

select * from user;

Dockerfile文本

1、自定义的web服务容器
FROM nginx
COPY default.conf /etc/nginx/conf.d/
COPY SilentSamsara /usr/SilentSamsara
maintainer SilentSamsara
EXPOSE 8866
2、自定义的数据库服务容器
FROM mysql:5.7
MAINTAINER SilentSamsara
ENV MYSQL_ALLOW_EMPTY_PASSWORD no
ENV MYSQL_ROOT_PASSWORD = admin
COPY setup.sh /mysql/setup.sh
COPY schema.sql /mysql/schema.sql
COPY privileges.sql /mysql/privileges.sql
CMD ["sh","/mysql/setup.sh"]
原文地址:https://www.cnblogs.com/SilentSamsara/p/12766737.html