第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文件实现自定义镜像,为后续的实验打下了一定的基础,同时也结合了一些以前学过的知识,感觉挺有意思的,也有很大的收获。