使用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]#
※虚拟机配置的证据(网络适配器设置)
构成图
这次的构成如下。
预先设定
以下事项已预先设置好。
-
- ホスト名: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/。
当你访问时,将显示此屏幕。
完成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
这个屏幕被显示出来。
以下是可能的汉语翻译:
文献参考
在CentOS 7上安装Docker
使用Docker启动Nginx并显示网页