第2次实践作业

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

(1)安装nginx

1.获取最新版的 Nginx 镜像

拉取官方的最新版本的镜像:

sudo docker pull nginx:latest

2.查看本地镜像

用以下命令来查看是否已安装了nginx:

sudo docker images

(2)创建并运行一个容器

1.创建容器

sudo docker run -it nginx /bin/bash


容器ID为:6d26585e5aed

2.查看容器的工作目录

pwd


容器工作在根目录下

(3)修改default.confw文件

1.更改文件存放目录

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

在主目录中可看到default.confw文件

2.修改文件

sudo gedit default.conf

将监听的端口号listen修改为6688(原为80)
将Web默认目录root修改为/usr/kkk_html/(原为/usr/share/nginx/html)

(4)创建html文件

(5)编写dockerfile文件

(6)build dockerfile

sudo docker build -t mynginx .


成功~

(7)创建容器并验证结果

sudo docker run --name cathy_nginx -p 8808:6688 -d mynginx

访问浏览器http://localhost:8808/

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

(1)pull一个mysql镜像,版本为5.7

sudo docker pull mysql:5.7

(2)创建构建mysql镜像所需的文件

1.dockerfile

2.privileges.sql

3.schema.sql

4.setup.sh

(4)build dockerfile

sudo docker build -t kmysql .

(5)运行容器

sudo docker run --name ksql -p 13306:3306 -d kmysql

查看一下

sudo docker ps


创建成功

(6)进入容器并使用指定用户名和密码进入数据库

sudo docker exec -it ksql /bin/bash
mysql -u cathy -p

(7)查看已经存在的数据库

show databases;

(8)进入数据库并查表

use docker_mysql

select * from user;
select id from user;

(9)使用root密码登录

退出登录

exit

使用root密码登录

mysql -u root -p

(9)查看数据库

(10)查看mysql的配置信息

show variables;


只截取了一部分

(11)退出并查看日志信息

sudo docker logs msql

(12)查看容器信息

sudo docker inspect ksql


只截取了部分

三、 小结

这次很幸运没有遇到大问题所以没写遇到的问题和解决方案啦

  感人,除了由于粗心记错名字数字之类的导致的一些波折,没有遇到什么大问题,前一次遇到的坑太多了,这次总算顺利了一些,上次做了三天,这次也差不多做了一整天,希望之后能够细心一些,避免不必要的麻烦。
  在第一次实践中对docker有了初步的了解,也进行了docker环境的配置等操作,在这次实验中进一步学习了相关的操作,学会了使用dockerfile文件实现自定义镜像,为后续的实验打下了一定的基础,同时也结合了一些以前学过的知识,感觉挺有意思的,也有很大的收获。

原文地址:https://www.cnblogs.com/cathyccathy/p/12735858.html