Dockerラーニングの構築とミラーの実行
4710 ワード
前言
前編に続き、dockerの環境を構築しました.以下、公式サイトのチュートリアルに従って、入門操作を行います.公式サイトのチュートリアルアドレス:Get Started,Part 2:Containers
Dockerfilew構成コンテナシンクホスト上にdemo-docker のようなディレクトリを確立する cd demo-docker vi Dockerfile ファイルには、 と入力されています. vi requirements.txtは、以下の内容 を入力する. vi app.pyは、次の を入力します.最後にdemo-dockerに次のファイル があります. dockerミラー を作成するの実行が完了したら、システムに存在するdockerミラー を確認します.ミラー を実行バックグラウンドで を実行起動後、コンテナのID情報を取得します.停止すると、このIDを使用します.また、コマンドで関連するID を表示することもできます.バックグラウンドでの運転を停止する容器 dockerのいくつかの一般的なコマンド
よくある質問
前編に続き、dockerの環境を構築しました.以下、公式サイトのチュートリアルに従って、入門操作を行います.公式サイトのチュートリアルアドレス:Get Started,Part 2:Containers
Dockerfilew構成コンテナ
# Use an official Python runtime as a parent image
# Python
FROM python:2.7-slim
# Set the working directory to /app
# /app
WORKDIR /app
# Copy the current directory contents into the container at /app
# /app
ADD . /app
# Install any needed packages specified in requirements.txt
# requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
# Make port 80 available to the world outside this container
# 80
EXPOSE 80
# Define environment variable
#
ENV NAME World
# Run app.py when the container launches
# ,
CMD ["python", "app.py"]
Flask
Redis
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 = "cannot connect to Redis, counter disabled"
html = "Hello {name}!
" \
"Hostname: {hostname}
" \
"Visits: {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)
app.py Dockerfile requirements.txt
docker build -t demo-docker .
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
demo-docker latest 321a0064dbe2 About an hour ago 148MB
python 2.7-slim b0259cf63993 7 days ago 138MB
hello-world latest 725dcfab7d63 8 days ago 1.84kB
# 4000 80
docker run -p 4000:80 demo-docker
docker run -d -p 4000:80 demo-docker
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
83dd2473dc19 demo-docker "python app.py" 7 seconds ago Up 6 seconds 0.0.0.0:4000->80/tcp pensive_yalow
docker container stop 83dd2473dc19
docker build -t friendlyname . # Create image using this directory's Dockerfile
docker run -p 4000:80 friendlyname # Run "friendlyname" mapping port 4000 to 80
docker run -d -p 4000:80 friendlyname # Same thing, but in detached mode
docker container ls # List all running containers
docker container ls -a # List all containers, even those not running
docker container stop # Gracefully stop the specified container
docker container kill # Force shutdown of the specified container
docker container rm # Remove specified container from this machine
docker container rm $(docker container ls -a -q) # Remove all containers
docker image ls -a # List all images on this machine
docker image rm # Remove specified image from this machine
docker image rm $(docker image ls -a -q) # Remove all images from this machine
docker login # Log in this CLI session using your Docker credentials
docker tag username/repository:tag # Tag for upload to registry
docker push username/repository:tag # Upload tagged image to registry
docker run username/repository:tag # Run image from a registry
よくある質問
# , , Docker ,
docker image ls
。
,
docker ps -a
,
docker rm
docker rmi