1.docker部署(CentOS7)
# yum install -y yum-utils
# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# yum install docker-ce docker-ce-cli containerd.io
2.启动并设置开机启动
# systemctl start docker
# systemctl enable docker
3.运行hello-word
# docker run hello-world
4.docker image示例
列出
# docker images
查看详情
# docker image inspect $id
删除
# docker rmi $id
5.docker容器示例
启动
# docker run -d -v $(volume or host path):$path -p 80:80 nginx --network $network
列出
# docker ps
查看日志
# docker logs -f $id
查看详情
# docker inspect $id
停止
# docker stop $id
删除
# docker rm $id
6.docker volume示例
创建
# docker volume create todo-db
列出
# docker volume ls
查看详情
# docker volume inspect todo-db
7.docker volume示例
创建
# docker network create todo-app
列出
# docker network ls
查看详情
# docker network respect todo-app
网络工具
# docker run -it --network todo-app nicolaka/netshoot
8.docker-compose
安装
# curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
使用示例
# mkdir composetest
# cd composetest
# cat app.py
import time
import redis
from flask import Flask
app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)
def get_hit_count():
retries = 5
while True:
try:
return cache.incr('hits')
except redis.exceptions.ConnectionError as exc:
if retries == 0:
raise exc
retries -= 1
time.sleep(0.5)
@app.route('/')
def hello():
count = get_hit_count()
return "Hello Docker! I have been seen {} times.\n".format(count)
# cat requirements.txt
flask
redis
# cat Dockerfile
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP=app.py
ENV FLASK_RUN_HOST=0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
EXPOSE 5000
COPY . .
CMD ["flask", "run"]
# cat docker-compose.yml
version: "3.9"
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"
启动
# docker-compose up -d
关闭
# docker-compose down --volumes