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
In the previous article "Understanding UID a...
Preface: This article is based on the experience ...
Table of contents 1. Install JDK Manual Installat...
Learning objectives: The two functions parseInt()...
Copy code The code is as follows: <div content...
In the XHTML language, we all know that the ul ta...
IE8 new feature Web Slices (Web Slices) Microsoft...
Table of contents 1. setState() Description 1.1 U...
Environment Introduction Operating system: centos...
Table of contents background Solution 1 Ideas: Co...
Table of contents 1. Basics of audio playback in ...
Table of contents 1. beforeunload event 2. Unload...
In the actual project development process, the pag...
The specific code for JavaScript to implement the...
The time of VM Ware virtual machine centos is inc...