使用Docker在CentOS7.8上启动nginx

首先

作为学习Docker的一部分,我已经完成了以下操作。

1. 在CentOS7.8上安装docker。
2. 安装并启动nginx。
3. 创建并显示html文件。

我們這次想要解釋一下這個流程。

环境

・超级虚拟机管理器
VMware Workstation 15 玩家版

虚拟机
CPU:2个
内存:10088MB
硬盘:300GB
网络适配器:桥接
※只有一个网卡。

・操作系统
CentOS 7.5(1804)
※通过「yum update」升级至「CentOS 7.8(2003)」

[root@tspdocker yum.repos.d]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@tspdocker yum.repos.d]#

※虚拟机配置的证据(网络适配器设置)

ネットワークアダプタ.JPG

构成图

这次的构成如下。

図.JPG

预先设定

以下事项已预先设置好。

    • ホスト名:tspdocker

IPアドレス:192.168.0.40

DNS:8.8.8.8,8.8.4.4
※Google Public DNSを使用しています。
firewalld:停止/自動起動停止

selinux:無効

NTP:設定済み(ntp.nict.jp)

yum update:済み

步骤

准备Docker

卸载旧版的docker

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

安装公式仓库

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装DOCKER CE

安装最新版的Docker CE。

yum install -y docker-ce docker-ce-cli containerd.io

Docker的启动/自动启动

启动Docker

systemctl start docker

Docker自动启动设置

systemctl enable docker

确认版本

docker --version

示例运行

[root@tspdocker yum.repos.d]# docker --version
Docker version 19.03.9, build 9d988398e7
[root@tspdocker yum.repos.d]#

在Docker上准备Nginx。

获取nginx的镜像

docker pull nginx

执行示例

[root@tspdocker yum.repos.d]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
afb6ec6fdc1c: Pull complete
b90c53a0b692: Pull complete
11fa52a0fdc0: Pull complete
Digest: sha256:30dfa439718a17baafefadf16c5e7c9d0a1cde97b4fd84f63b69e13513be7097
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
[root@tspdocker yum.repos.d]#

确认图像。

docker images

执行实例

[root@tspdocker yum.repos.d]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              9beeba249f3e        8 days ago          127MB
[root@tspdocker yum.repos.d]#

启动Nginx

docker run -d -p 8080:80 nginx

执行示例

[root@tspdocker yum.repos.d]# docker run -d -p 8080:80 nginx
b631bfb26b8eb469437f55731abadc6d1e308149bf89062d0282ae11db722faa
[root@tspdocker yum.repos.d]#

确认nginx是否已经启动

docker ps -a

执行示例

[root@tspdocker yum.repos.d]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
b631bfb26b8e        nginx               "nginx -g 'daemon of…"   10 seconds ago      Up 9 seconds        0.0.0.0:8080->80/tcp   vibrant_engelbart
[root@tspdocker yum.repos.d]#

确认网页界面

请通过浏览器访问「http://<服务器IP地址>:8080」。
例如:http://192.168.0.40:8080/。

当你访问时,将显示此屏幕。

nginx_1.JPG

完成HTML文件后实际显示

登录到容器

查找容器名称

docker ps -a

执行实例 (shí lì)

[root@tspdocker yum.repos.d]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
b631bfb26b8e        nginx               "nginx -g 'daemon of…"   3 hours ago         Up 3 hours          0.0.0.0:8080->80/tcp   vibrant_engelbart
[root@tspdocker yum.repos.d]#

→在示例中,“vibrant_engelbart” 是容器名称。

登录到容器中

docker exec -it vibrant_engelbart /bin/bash

→ 「vibrant_engelbart」是容器的名称。

运行示例

[root@tspdocker yum.repos.d]# docker exec -it vibrant_engelbart /bin/bash
root@b631bfb26b8e:/#

操作系统版本确认

cat /etc/os-release

执行案例

root@b631bfb26b8e:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@b631bfb26b8e:/#

确认操作系统为Ubuntu。

Vim/sudo安装

这是用于文件编辑的软件包。

更新可安装的软件包列表

apt-get update

这是一个实例的运行示例。

root@b631bfb26b8e:/# apt-get update
Get:1 http://deb.debian.org/debian buster InRelease [121 kB]
Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:3 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Get:4 http://security.debian.org/debian-security buster/updates/main amd64 Packages [201 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7905 kB]
Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [7380 B]
Fetched 8350 kB in 3s (3209 kB/s)
Reading package lists... Done
root@b631bfb26b8e:/#

安装 Vim

apt-get install vim
apt-get install sudo

HTML文件的乱码处理方法

export LANG=C.UTF-8
export LANGUAGE=en_US:
env | grep LANG

※这是一个暂时设定。(退出登录后将重置。)

执行示例

root@b631bfb26b8e:/usr/share/nginx/html# export LANG=C.UTF-8
root@b631bfb26b8e:/usr/share/nginx/html# export LANGUAGE=en_US:
root@b631bfb26b8e:/usr/share/nginx/html#
root@b631bfb26b8e:/usr/share/nginx/html# env | grep LANG
LANGUAGE=en_US:
LANG=C.UTF-8

编写HTML

HTML的默认根目录是”/usr/share/nginx/html”。

创建一个用于测试的HTML文件。

vim /usr/share/nginx/html/test.html

記錄內容

<!DOCTYPE html>
<meta http-equiv="content-type" charset="utf-8">
<html>
  <head>
    <title>主な要素</title>
  </head>
  <body>
       <h1>タイトル</h1>
       <h2>副題</h2>

       <p>
        これはパラグラフです。文節を記述するためのタグです。
        一部分だけをマーキングする場合は<span>スパン</span>を使用します。
       </p>

       <h3>
         箇条書きの例
       </h3>
         <ul>
           <li>HTMLの基本</li>
           <li>スタイルの基本</li>
           <li>スクリプトの基本</li>
         </ul

         <button>OKボタン</button>
         <button>NGボタン</button>
  </body>
</html>

展示已创建的HTML文件

从浏览器访问”http://<服务器IP地址>:8080/test.html”
例)http://192.168.0.40:8080/test.html

这个屏幕被显示出来。

nginx_2.JPG

以下是可能的汉语翻译:

文献参考

在CentOS 7上安装Docker
使用Docker启动Nginx并显示网页

广告
将在 10 秒后关闭
bannerAds