Docker note

发布时间 2023-10-15 20:40:40作者: Cold的窝

1.1 Docker服务相关命令

  • 启动dockers服务:
    systemctl start docker
  • 停止dockers服务:
    systemctl stop docker
  • 重启dockers服务:
    systemctl restart docker
  • 查看dockers服务状态:
    systemctl status docker
  • 设置开机启动docker服务:
    systemctl enable docker

1.2镜像相关命令

1.2.1 查看镜像

docker images

1.2.2 搜索镜像

docker search {{image-name}}

1.2.3 拉取镜像

docker pull {{image-name}}

1.2.4 查看镜像official版本并下载

bing search hub.docker.com search 对应的image-name 找到对应的 version

执行: docker pull {{image-name:version}}

1.2.3 删除镜像

docker rmi {{这里可以是ImageID 也可以是 Image-Name:version}}
因为在docker中,一个相同的镜像虽然版本不同,但是他们的ImageId可能是相同的

删除全部镜像 docker rmi 'docker images -q'
这条指令中的'docker images -q'会把所有ImageId查询出来并当成参数给 docker rmi 执行

1.3 容器相关命令

1.3.1 新建+启动 容器命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号

--name="容器新名字" : 为容器指定一个名称;

-d : 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);

-i :以交互模式运行容器,通常与 -t 同时使用;

-t :为容器重新分配一个伪输入终端,通常与 -i 同时使用;

也即启动交互式容器(前台有伪终端,等待交互);

-P : 随机端口映射,大写P

-p : 指定端口映射,小写p

docker run -it centos /bin/bash
参数说明:

-i: 交互式操作。

-t: 终端。

centos : centos 镜像。

/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

要退出终端,直接输入 exit:

1.3.2 列出当前所有正在运行的容器

docker ps [OPTIONS]

OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。

1.3.2 退出容器

  1. exec退出
    run进去容器,exit退出,容器停止

  2. ctrl+p+q
    run进去容器,ctrl+p+q退出,容器不停止

1.3.3 启动已停止运行的容器

docker start 容器ID或者容器名

1.3.4 重启容器

docker restart 容器ID或者容器名

1.3.5 停止容器

docker stop 容器ID或者容器名

1.3.6 强制停止容器

docker kill 容器ID或容器名

1.3.7 删除已停止的容器

docker rm 容器ID

一次性删除多个容器实例

docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm

1.4 数据卷

1.4.1 启动时配置数据卷

  • 创建容器时,使用-v参数来设置数据卷
    docker run ... -v 宿主机目录(文件): 容器内目录(文件)
  1. 目录必须时绝对路径
  2. 如果目录不存在,会自动创建
  3. 可以挂载多个数据卷