制作
docker build -t flask:1.0 .
删除image
docker rmi id
运行
docker run :创建一个新的容器并运行一个命令
docker create :创建一个新的容器但不启动它
docker exec :在运行的容器中执行命令
docker run -it -p 8000:8000 -v /home/testlog:/code/log flask:1.2 --log-level=debug
docker run -d --name=flask0 -p 8000:8000 -v /home/testlog:/code/log flask:1.0 --log-level=debug
再次运行
docker container start flask_app
进入一个运行中的
docker exec -it bba20c546288 /bin/bash
启动并运行bash
docker run -it --entrypoint=/bin/bash flask:1.0
docker run -it --entrypoint=’[“gunicorn”,“flask_server:app”,"-c","./gunicorn.py","-D"]’ flask:1.0 /bin/bash
docker run -it flask:1.0 /bin/bash
打包
docker save -o flask_image.tar flask_demo:1.0
加载
docker load --input flask_image.tar
复制修改后的配置文件到docker容器中去
docker cp gunicorn.py 82f7bdaf5ea4:/code/gunicorn.py
更新镜像
docker commit -m=“has update” -a=“zhaoxh” --change=‘CMD [“gunicorn”,"-c","./gunicorn.py",“flask_server:app”,"–log-level=error"]’ fbdc6ad3ee82 flask_demo:1.1
docker commit -m=“has update” -a=“zhaoxh” --change=‘ENTRYPOINT [“gunicorn”,“flask_server:app”,"-c","./gunicorn.py"]’ 478f8e59179f flask:1.2
传参
ENTRYPOINT [“gunicorn”,“flask_server:app”,"-c","./gunicorn.py"]
CMD ["–log-level=error"]
映射日志到宿主机
容器内log目录下日志会写到宿主机testlog目录下
-v /home/testlog:/code/log
在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:
docker run --restart=always
如果已经启动了则可以使用如下命令:
docker update --restart=always