Docker常用管理命令
一、Docker常用管理命令
docker ps
docker ps -a
(查看所有容器,包括已停止的容器)。docker start <container_id>
docker start <container_id>
(使用具体的容器ID启动容器)。docker stop <container_id>
docker stop <container_id>
(使用具体的容器ID停止容器)。docker rm <container_id>
docker rm <container_id>
(使用具体的容器ID删除容器)。docker logs <container_id>
docker logs -f <container_id>
(实时查看容器的日志)。docker exec <container_id> <command>
docker exec -it <container_id> /bin/bash
(进入容器的交互式终端)。docker images
docker images -a
(查看所有镜像,包括中间层镜像)。docker pull <image_name>
docker pull ubuntu
(下载Ubuntu镜像)。docker build -t <image_name> .
docker build -t myapp .
(在当前目录下使用Dockerfile构建一个名为myapp的镜像)。二、Dockerfile常用命令
FROM <base_image>
:指定基础镜像。RUN <command>
:在镜像构建过程中执行命令。CMD [ "executable","param1","param2" ]
:CMD用于指定在容器启动时所要执行的命令,CMD指令可以被Dockerfile中的ENTRYPOINT指令覆盖。如果Dockerfile中存在多个CMD指令,那么只有最后一个CMD指令会被执行。LABEL <key>=<value>
:为镜像添加元数据标签。EXPOSE <port>
:暴露容器的端口,使主机可以访问。ENV <key>=<value>
:设置环境变量。ADD <source> <destination>
:将本地文件或目录添加到镜像中,并设置目标路径。COPY <source> <destination>
:复制本地文件或目录到镜像中,并设置目标路径。与ADD不同的是,COPY只支持本地文件,并且总是复制文件内容到新文件中,而不考虑文件是否在Docker构建缓存中存在。此外,COPY指令不能自动处理URL和解压操作。ENTRYPOINT [ "executable", "param1", "param2" ]
:配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。每个 Dockerfile 中只能有一个 ENTRYPOINT,当指定多个时,只有最后一个起效。ENTRYPOINT 帮助你配置一个容器使之可执行化。配合 CMD 可省去"application",只提供参数。