docker常用命令汇总

1,275 阅读2分钟

1、查看镜像列表

sudo docker images

2、镜像搜索

sudo docker search ubuntu

3、下拉镜像

1.  sudo docker pull 镜像名
2.  sudo docker pull 镜像名:Tag

4、删除镜像

sudo docker rmi -f 镜像名/镜像ID

5、保存镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字

6、加载镜像

docker load -i 镜像保存文件位置

7、容器列表

sudo docker ps
sudo docker ps -a # 查看所有容器 -----包含正在运行 和已停止的

8、创建容器

docker run -it -d --name 要取的别名 -p 宿主机端口:容器端口 -v 宿主机文件存储位置:容器内文件位置 镜像名:Tag /bin/bash

9、停止容器

sudo docker stop 容器名/容器ID

10、删除容器

#删除一个容器
docker rm -f 容器名/容器ID
#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID
#删除全部容器
docker rm -f $(docker ps -aq)

11、进入容器

sudo docker attach 容器ID/容器名 或者
sudo docker exec -it 容器ID或容器名 /bin/bash

12、读取dockerfile文件构建镜像

docker build -f /path/to/a/Dockerfile

dockerfile文件说明

Dockerfile文件说明

说明不区分大小写,但必须遵循建议使用大写字母的约定。

Docker以从上到下的顺序运行Dockerfile的指令。为了指定基本映像,第一条指令必须是FROM

一个声明以字符开头则被视为注释。可以在Docker文件中使用RUNCMDFROMEXPOSEENV等指令。

在这里列出了一些常用的说明。

FROM

该指令用于设置后续指令的基本映像。有效的Dockerfile必须使用FROM作为其第一条指令。

FROM ubuntu

Shell

LABEL

可以为映像添加标签来组织项目的映像。需要使用LABEL指令设置映像的标签。

LABEL vendorl = "YiiBai"

Shell

RUN

该指令用于执行当前映像的任何命令。

RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'

Shell

CMD

这用于执行映像的应用程序。应该以下列形式总是使用CMD -

CMD ["executable", "param1", "param2"?]

Shell

这是使用CMD的首选方法。Dockerfile文件中只能有一个CMD。如果使用多个CMD,则只会执行最后一个CMD

COPY

该指令用于将来自源的新文件或目录复制到目的地的容器的文件系统。

COPY abc/ /xyz

Shell

规则

  • source路径必须在构建的上下文之内。无法使用COPY ../something /something,因为docker构建的第一步是将上下文目录(和子目录)发送到docker守护程序。
  • 如果source是目录,则会复制目录的全部内容,包括文件系统元数据。

WORKDIR

WORKDIR用于为Dockerfile中的RUNCMDCOPY指令设置工作目录。如果工作目录不存在,它默认将会创建。

我们可以在Dockerfile文件中多次使用WORKDIR