创建项目文件夹:
在您的计算机上创建一个项目文件夹,用于存储镜像服务器的相关文件,如/home/work/luarocks-server
创建 Dockerfile文件:
在项目文件夹中创建一个名为 Dockerfile 的文本文件,用于构建 Docker 镜像,文件内容如下:
FROM nginx:latest
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN sed -i 's/security.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
RUN apt-get update && apt-get install -y lua5.1 luarocks
RUN mkdir -p /usr/local/luarocks/repos
RUN echo "rocks_servers = {[[http://localhost/repos]]}" > /etc/luarocks/config.lua
COPY nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
创建 Nginx 配置文件:
在项目文件夹中创建一个名为 nginx.conf 的文本文件,用于配置 Nginx 服务器,文件内容如下:
worker_processes auto;
events {
worker_connections 1024;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server {
listen 80;
server_name localhost;
location /repos {
alias /usr/local/luarocks/repos;
autoindex on;
}
location /download {
alias /usr/local/luarocks/repos;
}
}
}
构建 Docker 镜像:
打开终端或命令提示符,导航到项目文件夹的路径,构建 Docker 镜像:
cd /home/work/luarocks-server
docker build -t nginx-luarocks .
运行镜像服务器容器:
构建成功后,运行以下命令启动 Docker 容器:
docker run -d -p 80:80 -v /home/work/repos:/usr/local/luarocks/repos nginx-luarocks
至此,Nginx + LuaRocks 镜像服务器已经在 Docker 容器中成功搭建起来了。您可以通过访问 http://localhost/repos 来访问该镜像服务器,并使用 LuaRocks 工具进行包的安装和管理。
Lua模块文件上传
运行docker容器时,将本地/home/work/repos目录映射到docker的/usr/local/luarocks/repos目录中,再将Lua模块文件放入本地/home/work/repos目录,便可在 http://localhost/repos 镜像服务器中看见Lua模块文件。
location /repos {
alias /usr/local/luarocks/repos;
autoindex on;
}
Lua模块文件下载
通过访问http://localhost/repos服务器网页,点击相应的Lua模块就能将文件下载。