使用Docker常用命令总结

一、镜像操作

1. 获取一个新的镜像:

当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。

2. 查找镜像:

可以使用上面的网站查找想要的镜像,也可以在终端使用docker search命令搜索,如果要想在指定的仓库搜索,需要更改默认仓库地址。

3. 更改默认仓库地址:

mkdir -p /etc/docker/
tee /etc/docker/daemon.json <<-EOF{
    
    
“insecure-registries”:[“harbor.loongnix.cn”]
}
EOF

4. 列出镜像列表:

docker images

5. 删除镜像:

删除单个镜像: docker rmi <IMAGE ID>命令,如sudo docker rmi 94bc0bf34bdd

6. 设置镜像标签:

在原有镜像的基础上,为镜像添加一个新的名字,不改变原来的镜像名。

docker tag <container_id> new_name,如sudo docker tag 94bc0bf34bdd loongnix:20

7. 更新镜像:

在已有镜像的基础上,使用容器的副本,创建一个新的镜像,具体操作如下:

  • 更新镜像之前,我们需要使用镜像来创建一个容器。
  • 然后在运行的容器内使用 apt-get update 命令进行更新。
  • 完成操作之后,输入 exit 命令来退出这个容器。
  • 然后通过命令 docker commit 来提交容器副本。

如:$ docker commit -m="Description" -a="Author_name" <container_id> images_name

  • -m: 提交的描述信息
  • -a: 指定镜像作者
  • <container_id>:容器 ID
  • images_name: 指定要创建的目标镜像名

8. 构建镜像:

在已有镜像的基础上,利用Dockerfile文件,创建一个新的镜像,可以在创建时为其指定相关命令,下载我们需要的东西。具体步骤是:

  • 编写Dockerfile文件
  • 执行docker build命令。
$ cat Dockerfile
FROM loongnix:20
COPY . /
RUN apt install -y unzip make gcc wget git libpcre3 libpcre++
CMD ["/build.sh"]

FORM:定制的镜像都是基于FROM的镜像。这里的loongnix就是定制需要的基础镜像,后续的操作都是基于loongnix,所以loongnix必须是一个已经存在的镜像,如果镜像列表(docker images)中没有loongnix,可以用它来设置一个镜像标签( docker tag)。
COPY:从构建环境复制文件或者目录到镜像上指定的路径,.是Dockerfile所在目录下的所有文件,/是镜像的根目录。
RUN:用于执行后面跟着的命令行命令,在docker build时运行
CMD:类似于 RUN 指令,不过是在docker run时运行。作用是为启动的容器指定默认要运行的程序,程序运行结束,容器也就结束。CMD 指令指定的程序可被 docker run 命令行参数中指定要运行的程序所覆盖,如果 Dockerfile 中存在多个 CMD 指令,仅最后一个生效。

命令docker build --no-cache -t lua-min:0.0.1 .

  • -t:指定要创建的目标镜像名
  • lua-min:0.0.1:创建的新的镜像名
  • .Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

9. 使用镜像创建一个容器:

命令docker run -t -i [-v /home/loongson/docker_share:/mnt] IMAGE_ID /bin/bash

扫描二维码关注公众号,回复: 13617776 查看本文章
  • -i: 交互式操作
  • -t: 终端
  • -v: 在容器中设置了一个挂载点 /mnt(就是容器中的一个目录),并将主机上的 /home/xxx/xxx 目录中的内容关联到/mnt

二、容器操作

1. 查看容器列表:

docker ps -a

2. 启动容器:

docker start <container_id>

3. 重启容器:

docker restart <container_id>

4. 停止容器:

下面是重启单个容器,也可以用删除多个容器的方法,停止多个容器。

docker stop <container_id>

5. 进入容器:

docker attach <container_id>(exit退出容器终端,容器会停止)
docker exec -it <container_id> /bin/bash(exit退出容器终端,不会导致容器的停止)

6. 退出容器(容器还在):

在容器终端输入exit

7. 删除容器:

删除的容器必须要停止,不然无法删除。

删除单个容器docker rm -f <container_id>
删除多个容器,如删除由76d96b0d951c镜像创建的所有容器:

docker ps -a | grep "76d96b0d951c" | awk '{print $1}' | xargs docker rm

8. 传送文件:

Docker容器向宿主机传送文件:docker cp <container_id>:<docker容器内的路径> <本地保存文件的路径>

宿主机向Docker容器传送文件:docker cp 本地文件的路径 <container_id>:<docker容器内的路径>

猜你喜欢

转载自blog.csdn.net/qq_42570601/article/details/121651635
今日推荐