add_docker
This commit is contained in:
Executable
+56
@@ -0,0 +1,56 @@
|
||||
# Start Service
|
||||
systemctl start docker
|
||||
|
||||
# Docker
|
||||
cd /Docker/App/web2py-rocket-nginx
|
||||
chmod 775 run.sh
|
||||
./run.sh
|
||||
|
||||
# Docker Compose
|
||||
pip install docker-compose
|
||||
cd /Docker/App/web2py-rocket-nginx
|
||||
docker-compose up -d
|
||||
docker-compose ps
|
||||
docker network ls
|
||||
docker network inspect root_default
|
||||
docker volume ls
|
||||
docker volume inspect root_applications
|
||||
|
||||
# Docker Stack
|
||||
docker swarm init --advertise-addr $(hostname -i)
|
||||
docker stack deploy -c docker-compose.yml web2py-rocket-nginx
|
||||
docker stack ls
|
||||
docker stack ps web2py-rocket-nginx
|
||||
docker stack services web2py-rocket-nginx
|
||||
|
||||
# Shell (Copy the content of the file into this scaffolding shell and replace the variable text $ with \$ )
|
||||
cat << EOF > docker-compose.yml
|
||||
|
||||
EOF
|
||||
cat docker-compose.yml
|
||||
|
||||
cat << EOF > run.sh
|
||||
|
||||
EOF
|
||||
cat run.sh
|
||||
|
||||
cat << EOF > w2p.conf
|
||||
|
||||
EOF
|
||||
cat w2p.conf
|
||||
|
||||
cat << EOF > web2py-nginx
|
||||
|
||||
EOF
|
||||
cat web2py-nginx
|
||||
|
||||
cat << EOF > web2py-rocket
|
||||
|
||||
EOF
|
||||
cat web2py-rocket
|
||||
|
||||
chmod 755 run.sh
|
||||
./run.sh
|
||||
|
||||
docker-compose up -d
|
||||
docker-compose ps
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
web2py-rocket:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: web2py-rocket
|
||||
container_name: web2py-rocket
|
||||
ports:
|
||||
- "8000:8000"
|
||||
networks:
|
||||
web2py-net:
|
||||
ipv4_address: 172.25.0.22
|
||||
volumes:
|
||||
- applications:/home/web2py/web2py/applications
|
||||
|
||||
web2py-nginx:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: web2py-nginx
|
||||
container_name: web2py-nginx
|
||||
networks:
|
||||
web2py-net:
|
||||
ipv4_address: 172.25.0.23
|
||||
|
||||
networks:
|
||||
web2py-net:
|
||||
driver: bridge
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.25.0.0/16
|
||||
|
||||
volumes:
|
||||
applications:
|
||||
Executable
+34
@@ -0,0 +1,34 @@
|
||||
docker rm $(docker stop $(docker ps -a -q --filter ancestor=web2py-rocket --format="{{.ID}}"))
|
||||
docker rm $(docker stop $(docker ps -a -q --filter ancestor=web2py-nginx --format="{{.ID}}"))
|
||||
|
||||
docker network rm web2py-net
|
||||
#docker network create web2py-net
|
||||
docker network create --subnet=172.25.0.0/16 web2py-net
|
||||
|
||||
docker build -t web2py-rocket -f web2py-rocket .
|
||||
docker build -t web2py-nginx -f web2py-nginx .
|
||||
|
||||
docker run -d --net web2py-net -v applications:/home/web2py/web2py/applications -p 8000:8000 --name web2py-rocket --ip 172.25.0.22 web2py-rocket
|
||||
# docker exec -it web2py-rocket bash
|
||||
|
||||
sleep 2
|
||||
ping -c1 -n 172.25.0.22
|
||||
docker run --net web2py-net busybox ping -c1 -n web2py-rocket
|
||||
echo "------------------------------------------------------------------"
|
||||
curl -I 172.25.0.22:8000
|
||||
|
||||
docker run -d --net web2py-net --name web2py-nginx --ip 172.25.0.23 web2py-nginx
|
||||
# docker exec -it web2py-nginx bash
|
||||
|
||||
sleep 2
|
||||
ping -c1 -n 172.25.0.23
|
||||
docker run --net web2py-net busybox ping -c1 -n web2py-nginx
|
||||
echo "------------------------------------------------------------------"
|
||||
curl -I 172.25.0.23
|
||||
|
||||
docker network ls
|
||||
docker network inspect web2py-net
|
||||
docker volume ls
|
||||
docker volume inspect applications
|
||||
docker ps -a
|
||||
docker ps
|
||||
@@ -0,0 +1,20 @@
|
||||
upstream gunicorn {
|
||||
#server 172.25.0.22:8000 fail_timeout=0;
|
||||
server web2py-rocket:8000 fail_timeout=0;
|
||||
}
|
||||
|
||||
server {
|
||||
#listen 172.25.0.23:80 default_server;
|
||||
listen web2py-nginx:80 default_server;
|
||||
|
||||
location / {
|
||||
try_files $uri @proxy_to_gunicorn;
|
||||
}
|
||||
|
||||
location @proxy_to_gunicorn {
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_redirect off;
|
||||
proxy_set_header Host $host;
|
||||
proxy_pass http://gunicorn;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
FROM nginx:latest
|
||||
|
||||
COPY ./w2p.conf /etc/nginx/conf.d/
|
||||
|
||||
RUN apt update
|
||||
RUN apt-get install curl -y
|
||||
|
||||
EXPOSE 80
|
||||
|
||||
CMD nginx -g "daemon off;"
|
||||
@@ -0,0 +1,25 @@
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk add --no-cache python py-pip py-setuptools unzip wget && \
|
||||
pip install --upgrade pip && \
|
||||
pip install virtualenv
|
||||
|
||||
RUN addgroup -S web2py && \
|
||||
adduser -D -S -G web2py web2py
|
||||
|
||||
USER web2py
|
||||
|
||||
RUN virtualenv /home/web2py && \
|
||||
rm -rf /home/web2py/web2py && \
|
||||
cd /home/web2py/ && \
|
||||
rm -f web2py_src.zip && \
|
||||
wget -c http://web2py.com/examples/static/web2py_src.zip && \
|
||||
unzip -o web2py_src.zip && \
|
||||
rm -rf /home/web2py/web2py/applications/examples && \
|
||||
chmod 755 -R /home/web2py/web2py
|
||||
|
||||
WORKDIR /home/web2py/web2py
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
CMD . /home/web2py/bin/activate && python /home/web2py/web2py/web2py.py --nogui --no-banner -a 'a' -i 0.0.0.0 -p 8000
|
||||
Reference in New Issue
Block a user