一、运行容器化应用(game2048)

  通过MobaXterm连接远端的Linux(centos)服务器,进行配置Docker镜像加速器,然后测试、搜索、拉取和运行Docker容器。
终极目标:成功运行一个名为yakexi007/game2048的容器化应用,并将其服务通过服务器的80端口对外提供访问。

  1. docker search nginx
    目的:在Docker Hub官方仓库中搜索所有包含“nginx”关键词的公开镜像。这是一个独立的探索性命令,可能与后续步骤的直接目标无关,只是用来演示搜索功能或验证Docker命令可用性
    在这里插入图片描述

  2. echo '{"registry-mirrors":["https://docker.1ms.run"],"dns": ["8.8.8.8", "114.114.114.114"]}' | sudo tee /etc/docker/daemon.json > /dev/null
    目的:配置镜像加速器(核心步骤),创建或覆盖Docker的守护进程配置文件 daemon.json
    在这里插入图片描述

  3. systemctl daemon-reload,systemctl restart docker
    目的:①重新加载systemd管理器的配置。因为修改了systemd管理的Docker服务(docker.service)的相关配置文件(daemon.json),需要让systemd知晓这个变化②重启Docker服务。这是使上一步对 daemon.json 的修改生效的必要操作。重启后,Docker守护进程才会读取新的配置,启用镜像加速器和自定义DNS
    在这里插入图片描述

  4. docker search docker.1ms.run/nginx
    目的:测试国内镜像站能不能正常使用
    在这里插入图片描述

  5. docker search docker.1ms.run/yakexi007
    目的:搜一下这个用户的镜像,确认能搜到
    在这里插入图片描述

  6. docker pull docker.1ms.run/yakexi007/game2048
    目的:从国内镜像站下载2048小游戏镜像
    在这里插入图片描述

  7. docker load -i game2048.tar
    目的:将本地压缩包,直接导入镜像
    在这里插入图片描述
    在这里插入图片描述

  8. docker run -d --name game2048 -p 80:80 game2048
    目的:启动2048游戏容器
    在这里插入图片描述
    用箭头玩

二、部署一个完整的LAMP/Web应用堆栈

  部署一个完整的LAMP/Web应用堆栈实现:
①分离前后端:后端使用MySQL数据库容器(存储应用数据),前端使用Apache HTTP服务器容器(提供Web界面)
②数据持久化:通过os.sql将初始化数据导入数据库
③容器之间通信:使用–link实现web容器访问数据库容器

  1. docker load -i mysql.tardocker load -i httpd.tar
    目的:导入本地镜像
    在这里插入图片描述
    在这里插入图片描述
    有一张图片省略

  2. docker images
    目的:显示镜像列表,确认镜像已经成功加载
    在这里插入图片描述

  3. docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=redhat --name dbserver mysql
    目的:启动MySQL数据库容器

  4. yum install -y mysql
    目的:安装MySQL客户端工具,用于连接数据库容器

  5. mysql -h 127.0.0.1 -u root -predhat < os.sql
    目的:执行os.sql脚本文件,将数据导入MySQL数据库
    在这里插入图片描述

  6. docker run -d -p 80:80 --link dbserver:db --name webserver httpd:webapp
    目的:创建web服务器容器,容器命名为 webserver
    在这里插入图片描述

  7. 访问测试(替换为自己主机IP)http://116.63.37.***/cgi-bin/action

在这里插入图片描述

更多推荐