add_docker
This commit is contained in:
+56
@@ -0,0 +1,56 @@
|
||||
# Start Service
|
||||
systemctl start docker
|
||||
|
||||
# Docker
|
||||
cd /Docker/App/web2py-rocket-ssl-nginx
|
||||
chmod 775 run.sh
|
||||
./run.sh
|
||||
|
||||
# Docker Compose
|
||||
pip install docker-compose
|
||||
cd /Docker/App/web2py-rocket-ssl-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-ssl-nginx
|
||||
docker stack ls
|
||||
docker stack ps web2py-rocket-ssl-nginx
|
||||
docker stack services web2py-rocket-ssl-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-ssl
|
||||
|
||||
EOF
|
||||
cat web2py-rocket-ssl
|
||||
|
||||
chmod 755 run.sh
|
||||
./run.sh
|
||||
|
||||
docker-compose up -d
|
||||
docker-compose ps
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
version: '3.1'
|
||||
|
||||
services:
|
||||
web2py-rocket-ssl:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: web2py-rocket-ssl
|
||||
container_name: web2py-rocket-ssl
|
||||
ports:
|
||||
- "443:443"
|
||||
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-ssl --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-ssl -f web2py-rocket-ssl .
|
||||
docker build -t web2py-nginx -f web2py-nginx .
|
||||
|
||||
docker run -d --net web2py-net -v applications:/home/web2py/web2py/applications -p 443:443 --name web2py-rocket-ssl --ip 172.25.0.22 web2py-rocket-ssl
|
||||
# docker exec -it web2py-rocket-ssl bash
|
||||
|
||||
sleep 2
|
||||
ping -c1 -n 172.25.0.22
|
||||
docker run --net web2py-net busybox ping -c1 -n web2py-rocket-ssl
|
||||
echo "------------------------------------------------------------------"
|
||||
curl -I 172.25.0.22:443
|
||||
|
||||
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:443 fail_timeout=0;
|
||||
server web2py-rocket-ssl:443 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,20 @@
|
||||
FROM alpine:latest
|
||||
|
||||
RUN apk add --no-cache python py-pip py-setuptools unzip wget openssl && \
|
||||
pip install --upgrade pip && \
|
||||
pip install virtualenv
|
||||
|
||||
RUN wget -c http://web2py.com/examples/static/web2py_src.zip && \
|
||||
unzip -o web2py_src.zip && \
|
||||
rm -rf /web2py/applications/examples && \
|
||||
cd /web2py && \
|
||||
openssl genrsa 1024 > web2py.key && chmod 400 web2py.key && \
|
||||
openssl req -new -x509 -nodes -sha1 -days 1780 -subj '/C=c/ST=st/L=l/O=o/OU=ou/CN=cn.com' -key web2py.key > web2py.crt && \
|
||||
openssl x509 -noout -fingerprint -text < web2py.crt > web2py.info && \
|
||||
chmod 755 -R /web2py
|
||||
|
||||
WORKDIR /web2py
|
||||
|
||||
EXPOSE 443
|
||||
|
||||
CMD python /web2py/web2py.py --nogui --no-banner -a 'a' -c web2py.crt -k web2py.key -i 0.0.0.0 -p 443
|
||||
Reference in New Issue
Block a user