Configure NGINX: Makefile & Dockerfile#102
Conversation
razvand
left a comment
There was a problem hiding this comment.
Do NOT update the nginx/ directory. Add a new directory named bincompat-nginx/ with all the contents in it.
Do not add the root filesystem in the commit. The root filesystem will be generated by the user. Ignore it in the commit.
Use your proper name in the commit messages Karina Antoniu. Sign-off your commits. See the contributor guide. Read them 3-4 times. Look at the other commits in the repository and write the current commits similarly.
Add Makefile and setup.sh to configure NGINX via elfloader. Include Dockerfile and Makefile in rootfs/ to automate the extraction of the NGINX binary and its shared libraries. Signed-off-by: Karina Antoniu <karina.antoniu@gmail.com>
razvand
left a comment
There was a problem hiding this comment.
Sorry for not giving you this feedback earlier. Your approach is slightly incorrect. You need to do something similar to the bincompat-rust-hello app.
Namely:
- There is no
Makefilefor the unikernel. - The instructions would point you to the kernel from
../elfloader-net/that you would build in that directory../elfloader-net/. - Add a
README.mdwith instructions. - A
setup.shscript is not really required. I think it's part ofbincompat-rust-hello/by mistake.
|
|
||
|
|
There was a problem hiding this comment.
Use a single blank line. Otherwise, it appears that there's something special. Is there?
| docker create --name temp-container $(DOCKER_IMAGE) | ||
| docker cp temp-container:/rootfs $(ROOTFS_DIR) | ||
| docker rm temp-container | ||
| docker rmi $(DOCKER_IMAGE) |
There was a problem hiding this comment.
| docker rmi $(DOCKER_IMAGE) |
Do not remove image. It can stay part of the system.
- Remove local Makefile and setup.sh - Update Dockerfile and rootfs Makefile Signed-off-by: Karina Antoniu <karina.antoniu@gmail.com>
razvand
left a comment
There was a problem hiding this comment.
Squash your commits into a single one.
There are no instructions, no scripts and no README in the pull request. Follow the example of bincompat-c-hello: have a similar structure, check it works.
Added rootfs/Dockerfile and rootfsMakefile to automate the process of obtaining the NGINX executable. The Dockefile installs NGINX in an isolated environment, while the Makefile handles copying the binary and its dependencies back to the host machine. Created the rootfs/extracted_rootfs directory that contains everything that will be mounted as the filesystem in the unikernel (the binary, the config files and shared libraries). I also modified setup.sh to automatically clone and create symlinks for all the required Unikraft libraries and the Makefile to include the path to the sources.