编写Dockerfile制作nginx和tomcat服务Docker镜像

Docker部署Nginx

通过Docker部署Nginx服务

1
2
3
4
5
6
7
8
9
## 启动centos容器
docker run --name nginx-m -p 80 -itd centos
## 进入容器内部
docker exec -it nginx-m /bin/bash
## 确定ip
ip addr # 172.17.0.2
## 安装wget和nginx
yum install -y wget
yum install -y nginx

begin 出现错误:Failed to download metadata for repo ‘AppStream’

1
2
3
4
5
## 执行如下命令解决
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum update -y

创建web页面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
##  安装文本编辑器
yum install vim-enhanced -y

mkdir /var/www/html -p
cd /var/www/html/
vi index.html
<html>
<head>
<title>nginx in docker</title>
</head>
<body>
<h1>hello,My Name is lessismore</h1>
</body>
</html>

修改 nginx 配置文件中的 root 路径,如下

1
2
vim /etc/nginx/nginx.conf
root /var/www/html/;

启动 nginx

1
/usr/sbin/nginx

访问测试

1
2
3
4
5
6
7
## exit容器外访问
docker ps | grep nginx-m
## 查看端口号后
curl http:locahost:ip

也可以访问容器ip
curl http://172.17.0.2:80

Docker部署Tomcat

下载jdk:wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm
下载tomcat:wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.83/bin/apache-tomcat-8.5.83.tar.gz

编写Dockerfile

1
2
3
4
5
6
7
8
9
10
11
12
13
# vi dockerfile

# 基础镜像
FROM centos
# 复制jdk
ADD jdk-8u341-linux-x64.rpm /usr/local/
# 复制并解压tomcat
ADD apache-tomcat-8.5.83.tar.gz /usr/local/
# 安装jdk
RUN cd /usr/local && rpm -ivh jdk-8u341-linux-x64.rpm
# 重命名tomcat
RUN mv /usr/local/apache-tomcat-8.5.83 /usr/local/tomcat8
EXPOSE 8080

创建并启动容器,验证是否启动成功

1
2
3
4
5
6
7
8
9
10
# 创建容器
docker build -t="tomcat8:v1" .
# 运行容器
docker run --name tomcat8 -itd -p 8080 tomcat8:v1
# 进入运行中容器
docker exec -it tomcat8 /bin/bash
# 启动tomcat
/usr/local/tomcat8/bin/startup.sh
# 访问测试
curl localhost:8080