创建名为wiki_backend:latest的镜像
docker build -t wiki_backend:latest .
把当前的镜像以wiki_backend.tar为名字输出
docker save -o wiki_backend.tar wiki_backend:latest
把导出的镜像加入到
docker image load -i .\wiki_backend.tar
docker-compose.yml 写法
version: "3.4"
services:
redis-server:
container_name: redis-server
image: redis:latest
volumes:
- ./redis.conf:/redis.conf
- ./data:/data
ports:
- 6379:6379
networks:
wiki_server:
aliases:
- redis-server
command: redis-server /redis.conf
wiki_backend:
container_name: wiki_backend
image: wiki_backend:latest
command: ["gunicorn", "-w", "4", "-b", "0.0.0.0:5000", "backend:app", "–preload"]
volumes:
- ./instance/:/root/src/instance/
ports:
- 5001:5000
depends_on:
- redis-server
networks:
wiki_server:
celery_worker:
container_name: celery_worker
image: wiki_backend:latest
volumes:
- ./instance/:/root/src/instance/
command: ['celery', '-A', 'backend.celery', 'worker', '-l', 'info', '-f', '/root/src/instance/log/celery.log']
depends_on:
- redis-server
networks:
wiki_server:
networks:
wiki_server:
docker-compose 启用,退出
docker-compose up
docker-compose down
查看容器
docker ps -a
删除容器
1. 删除单个容器
docker rm xxxxxxxxxxxx
2. 删除多个独立的容器
docker container prune
3. 查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
docker rm `docker ps -a|grep Exited|awk '{print $1}'`
4. 删除所有未运行的容器(已运行的删除不了,未运行的就一起删除)
docker rm $(docker ps -a -q)
删除镜像
docker rmi xxxx
- FROM 设置在新映像创建过程期间使用的容器映像
- WORKDIR 用于为其他 Dockerfile 指令(如 RUN、CMD)设置一个工作目录,并且还设置用于运行容器映像实例的工作目录。
- RUN 将要运行并捕获到新容器映像中的命令。 这些命令包括安装软件、创建文件和目录,以及创建环境配置等
- COPY 将文件和目录复制到容器的文件系统。文件和目录需位于相对于 Dockerfile 的路径中。
- ENTRYPOINT 配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。