Po përpiqem ta bëj aplikacionin tim të dockerizohet sepse kam ndjekur openresty zyrtare dockerfile. Sistemi operativ në sistemin tim është Ubuntu 16.04 64 bit.
Unë tashmë e kam tërhequr atë imazh duke përdorur këtë cmd.
docker pull openresty/openresty:1.11.2.3-xenial
Tani dua të përdor këtë imazh dhe dua të bëj një aplikacion të thjeshtë hello world. Për këtë kam krijuar drejtorinë time të punës, krijoj një skedar docker të personalizuar dhe ndërtoj imazhin tim personal me të. Dhe së fundi e drejtoj atë imazh. Më poshtë është përmbajtja ime e skedarit docker.
FROM openresty/openresty:1.11.2.3-xenial
EXPOSE 8080
CMD nginx -p `pwd` -c nginx.conf
nginx.conf
worker_processes 1;
error_log stderr notice;
events {
worker_connections 1024;
}
http {
include /usr/local/openresty/nginx/conf/mime.types;
server {
listen 8888;
location / {
default_type text/html;
content_by_lua_file "app.lua";
}
}
}
app.lua
ngx.say('Hello World!')
ngx.exit(200)
Ndërto imazh
docker build -t user/openresty .
Filloni kontejnerin
docker run rahul/openresty
Kur përpiqem të nis kontejnerin, më jep një gabim si nginx: opsion i pavlefshëm: "/bin/sh"
Nuk e kam idenë se po shkoj në drejtimin e duhur apo të gabuar.
Përditëso:
docker run -it -p 8888:80 -v /home/software/docker/openresty:/usr/local/openresty/nginx/html:ro openresty/openresty:1.11.2.3-xenial
Sapo përdora këtë CLI dhe fillon të tregojë index.html që kam krijuar. Përsëri u përpoqa të lidh nginx.conf tim të personalizuar duke përdorur CLI më poshtë, por nuk funksionon.
docker run -it -p 8888:8888 -v /home/software/docker/openresty:/usr/local/openresty/nginx/html:ro -v /home/software/docker/openresty/nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf:ro openresty/openresty:1.11.2.3-xenial
docker run -it -p 8888:8888 -v $(pwd):/app openresty/openresty:1.11.2.3-xenial -p /app -c nginx.conf
Me komandën e mëposhtme fillon të funksionojë, por a mund ta shpjegojë dikush ju lutem?
docker run -it -p 8888:8888 -v $(pwd):/app openresty/openresty:1.11.2.3-xenial -p /app -c nginx.conf