我的currenrt文件夹是:Function DeCrypt(strEncrypted, strKey) ' cookie data is stored urlencoded and must be decoded before processing
strEncrypted = URLDecode(strEncrypted)
Dim iKeyChar
Dim iStringChar
Dim iDeCryptChar
Dim strDecrypted
Dim i
For i = 0 To strEncrypted.Length - 1
iKeyChar = CStr(Asc(strKey(i)))
iStringChar = CStr(Asc(strEncrypted(i)))
iDeCryptChar = iKeyChar Xor iStringChar
strDecrypted = strDecrypted & Chr(iDeCryptChar)
Next
URLDecode = strDecrypted
End Function
FUNCTION URLDecode(str)
'// This function:
'// - decodes any utf-8 encoded characters into unicode characters eg. (%C3%A5 = å)
'// - replaces any plus sign separators with a space character
'//
'// IMPORTANT:
'// Your webpage must use the UTF-8 character set. Easiest method is to use this META tag:
'// <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
'//
Dim objScript
Set objScript = Server.CreateObject("ScriptControl")
objScript.Language = "JavaScript"
URLDecode = objScript.Eval("decodeURIComponent(""" & str & """.replace(/\+/g,"" ""))")
Set objScript = NOTHING
END FUNCTION
1º运行命令:
/home/user/Desktop/me/docker-kubernets
2º webapp.conf
docker run -it --rm --user "$(id -u):$(id -g)" \
-v "$PWD":/usr/src/app -w /usr/src/app rails rails new --skip-bundle --api --database postgresql webapp
cd webapp
3º rails-env.conf
server {
listen 80;
server_name _;
root /home/user/Desktop/me/docker-kubernets;
passenger_enabled on;
passenger_user app;
passenger_ruby /usr/bin/ruby2.4;
}
4º Dockerfile
env SECRET_KEY_BASE;
env DATABASE_URL;
env DATABASE_PASSWORD;
5º setup.sh
FROM phusion/passenger-ruby24
# Set correct environment variables.
ENV HOME /root
# Use baseimage-docker's init process.
CMD ["/sbin/my_init"]
# Additional packages: we are adding the netcat package so we can
# make pings to the database service
RUN apt-get update && apt-get install -y -o Dpkg::Options::="--force-confold" netcat
# Enable Nginx and Passenger
RUN rm -f /etc/service/nginx/down
# Add virtual host entry for the application. Make sure
# the file is in the correct path
RUN rm /etc/nginx/sites-enabled/default
ADD webapp.conf /etc/nginx/sites-enabled/webapp.conf
# In case we need some environmental variables in Nginx. Make sure
# the file is in the correct path
ADD rails-env.conf /etc/nginx/main.d/rails-env.conf
# Install gems: it's better to build an independent layer for the gems
# so they are cached during builds unless Gemfile changes WORKDIR /tmp
ADD Gemfile /tmp/
ADD Gemfile.lock /tmp/
RUN bundle install
# Copy application into the container and use right permissions: passenger
# uses the app user for running the application RUN mkdir /home/app/webapp
COPY . /home/user/Desktop/me/docker-kubernets
RUN usermod -u 1000 app
RUN chown -R app:app /home/user/Desktop/me/docker-kubernets
WORKDIR /home/user/Desktop/me/docker-kubernets
# Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
EXPOSE 80
为此文件添加适当的执行权限
#!/bin/sh
echo "Waiting PostgreSQL to start on 5432..."
while ! nc -z postgres 5432; do
sleep 0.1
done
echo "PostgreSQL started"
bin/rails db:migrate
6º docker-compose.yml
chmod +x setup.sh
7º生成 Gemfile.lock
version: '2'
services:
webapp_setup:
build: .
depends_on:
- postgres
environment:
- PASSENGER_APP_ENV=development
entrypoint: ./setup.sh
webapp:
container_name: webapp
build: .
depends_on:
- postgres
- webapp_setup
environment:
- PASSENGER_APP_ENV=development
ports:
- "80:80"
volumes:
- .:/home/user/Desktop/me/docker-kubernets
postgres:
image: postgres:10.2
environment:
- POSTGRES_PASSWORD=mysecretpassword
- POSTGRES_USER=webapp
- POSTGRES_DB=webapp_development
volumes_from:
- postgres_data
postgres_data:
image: postgres:10.2
volumes:
- /var/lib/postgresql/data
command: /bin/true
8ºdocker run --rm -v $(pwd):/usr/src/app -w /usr/src/app ruby:2.4.2 bundle lock
我收到了错误:
docker-compose build
谢谢!
答案 0 :(得分:1)
我在Dockerfile中进行了这些更改,它就像一个魅力:
FROM phusion/passenger-ruby24
# Set correct environment variables.
ENV HOME /root
# Use baseimage-docker's init process.
CMD ["/sbin/my_init"]
# Additional packages: we are adding the netcat package so we can
# make pings to the database service
RUN apt-get update && apt-get install -y -o Dpkg::Options::="--force-confold" netcat
# Enable Nginx and Passenger
RUN rm -f /etc/service/nginx/down
# Add virtual host entry for the application. Make sure
# the file is in the correct path
RUN rm /etc/nginx/sites-enabled/default
ADD webapp.conf /etc/nginx/sites-enabled/webapp.conf
# In case we need some environmental variables in Nginx. Make sure
# the file is in the correct path
ADD rails-env.conf /etc/nginx/main.d/rails-env.conf
# Install gems: it's better to build an independent layer for the gems
# so they are cached during builds unless Gemfile changes WORKDIR /tmp
COPY Gemfile* /tmp/
WORKDIR /tmp
RUN bundle install
# Copy application into the container and use right permissions: passenger
# uses the app user for running the application
# RUN mkdir /home/me/Desktop/sg/docker-kubernets
COPY . /home/me/Desktop/sg/docker-kubernets
RUN usermod -u 1000 app
RUN chown -R app:app /home/me/Desktop/sg/docker-kubernets
WORKDIR /home/me/Desktop/sg/docker-kubernets
# Clean up APT when done.
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
EXPOSE 80
ruby版 Ruby 2.4.2p198(2017-09-14修订版59899)[x86_64-linux]
我希望有所帮助!
问候!