一、启动一个新的容器并运行命令

docker run [镜像名]

1.1、将宿主机的目录挂在到容器的工作目录

# $(pwd):本地路径
docker run -v $(pwd):/app 

通过 docker run -v $(pwd):/app 将宿主机的当前目录挂载到容器的 /app,这会覆盖镜像中 /app 目录下的原有文件。容器内实际看到的是宿主机上的最新代码,从而实现“修改本地文件 → 容器内自动重载”。
当使用 -v $(pwd):/app 启动容器时,Docker 将宿主机目录挂载到容器的指定挂载点。
挂载操作会将宿主机的目录“覆盖”到容器的目录上,即使镜像中该目录原本有内容,这些内容也会被隐藏(并非删除),容器内看到的完全是宿主机上的文件。

version: '3'
services:
  web:
    image: your-registry/my-flask-app:latest
    ports:
      - "5000:5000"
    volumes:
      - .:/app
docker-compose -f docker-compose.dev.yml up

在 Docker Compose 文件中,volumes: - .:/app 的意思是:将宿主机当前目录(即存放 docker-compose.yml 文件的目录)挂载到容器内的 /app 路径。

1.2、卷挂载且只读模式

-v $(pwd)/public:/usr/share/nginx/html:ro

1.3、后台运行

docker run -d 

1.4、端口映射

-p 8080:80

这里将宿主机的 8080 端口 映射到容器的 80 端口。

1.5、命名容器

--name my-site

二、列出当前正在运行的容器

# 列出当前正在运行的容器
docker ps

# 列出所有容器(包括已停止的容器)
docker ps -a

三、在运行的容器中执行命令

docker exec
docker exec -it container_name bash

四、停止一个或多个容器

docker stop container_name

五、启动已停止的容器

docker start container_name

六、重启一个容器

docker restart container_name

七、删除一个或多个容器

docker rm container_name

八、查看容器的日志

docker logs container_name

九、进入容器的交互式终端

docker exec -it container_name /bin/bash

更多推荐