1. Create an empty directory $ cd /home/xm6f/dev $ mkdir myapp $ cd myapp/ 2.vim Dockerfile, the content is as follows: ## A basic python runtime environment FROM python ## Set the working directory WORKDIR /app ## Copy the current system folder contents to the container's app directory ADD ./app ## Install necessary dependency packages RUN pip install -r softwares.txt ## Open port for access outside the container EXPOSE 80 EXPOSE 3088 EXPOSE 8080 EXPOSE 8066 ## Define environment variable ENV NAME HELLO ## Run command CMD ["python","app.py"] 3. Install dependencies vim softwares.txt, the content is as follows: Flask Redis 4.vim app.py, the content is as follows: from flask import Flask from redis import Redis, RedisError import os import socket # Connect to Redis redis = Redis(host="redis", db=0, socket_connect_timeout=2, socket_timeout=2) app = Flask(__name__) @app.route("/") def hello(): try: visits = redis.incr("counter") except RedisError: visits = "<i>cannot connect to Redis, counter disabled</i>" html = "<h3>Hello {name}!</h3>" \ "<b>Hostname:</b> {hostname}<br/>" \ "<b>Visits:</b> {visits}" return html.format(name=os.getenv("NAME", "world"), hostname=socket.gethostname(), visits=visits) if __name__ == "__main__": app.run(host='0.0.0.0', port=80) 5. Compile $ docker build -t myfirstapp . 6. Check that a new image has been generated $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE myfirstapp latest 01ea1129a831 2 hours ago 699MB 7. Start the image $ docker run -p 4000:80 myfirstapp It can also be run in the background: $ docker run -d -p 4000:80 myfirstapp 8. Access to the Services # curl http://localhost:4000 <h3>Hello world!</h3><b>Hostname:</b> a6655d0d7e74<br/><b>Visits:</b> <i>cannot connect to Redis, counter disabled</i> Or use a browser to access the service: http://192.168.1.160:4000 9. View the currently running image $ docker ps CONTAINER ID MAGE COMMAND CREATED STATUS PORTS NAMES 2db45cab2bb4 myfirstapp "python app.py" 2 minutes ago Up 2 minutes 0.0.0.0:4000->80/tcp elastic_wilson 10. Stop mirroring $ docker stop 2db45cab2bb4 The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
>>: js uses cookies to remember user page operations
The image can be easily pushed directly to the Do...
Canvas has always been an indispensable tag eleme...
I like to pay attention to some news on weekdays a...
Table of contents Spring Boot Docker spring-boot-...
This article example shares the specific code for...
This article shares the specific code of JavaScri...
Effect display: Environment preparation controlle...
Table of contents 1. Modify the app.vue page 2. C...
This article example shares the specific code of ...
The reason why Docker is so popular nowadays is m...
<br />Navigation design is one of the main t...
I'm building Nginx recently, but I can't ...
After setting the table width in the page to width...
question: When I was doing project statistics rec...
Introduction: Nginx (pronounced the same as engin...