docker粗略用法

279 阅读1分钟

创建名为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 提供的参数覆盖。