0%

docker指令

Docker

本文用于记录常用的docker指令,关于docker的介绍和学习可以看这篇博客

服务相关命令

  • 启动docker服务

    systemctl start docker

  • 停止docker服务

    systemctl stop docker

  • 重启docker服务

    systemctl restart docker

  • 查看docker服务状态

    systemctl status docker

  • 设置开机启动docker服务

    systemctl enable docker

镜像相关命令

  • 查看镜像:查看本地所有的镜像

    docker images

  • 搜索镜像:从网络中查找需要的镜像

    docker search <name>

  • 拉取镜像:从docker仓库中下载镜像(版本号可以看官网)

    docker pull <name>

  • 删除镜像:删除本地镜像

    docker rmi <id>

    docker rmi 'docker images -q' #删除所有镜像

容器相关命令

  • 查看容器

    docker ps #查看正在运行的容器

    docker ps -a #查看所有容器

  • 创建并启动容器

    docker run 参数

    参数说明

    -i :保持容器运行。

    -t :为容器重新分配一个伪输入终端

    -d :以后台模式运行容器。需要docker exec进入容器内部

    -it创建的容器为交互式容器 -id创建的容器为守护式容器

    –name :为创建的容器命名

  • 进入容器

    docker exec 参数

  • 停止容器

    docker stop 参数

  • 启动容器

    docker start 参数

  • 删除容器(在容器停止状态下才能删除)

    docker rm 参数

  • 查看容器信息

    docker inspect 参数

容器数据卷

  • 创建启动容器时,使用-v参数设置数据卷

    docker run ... -v 宿主机目录(文件):容器内目录(文件)

    目录为绝对路径

    如果目录不存在,会自动创建

    可以挂载多个数据卷

镜像制作

  • 容器转为镜像

    docker commit <容器id> <镜像name:version>

  • 镜像转为压缩文件用于传输

    docker save -o <压缩文件name> <镜像name:version>

  • 压缩文件还原镜像

    docker load -i <压缩文件name>

Dockerfile

Dockerfile的编写,可以理解为编写一堆命令,这堆命令做的事,就是基于一个基础镜像(这个镜像通常是选择官方的镜像),跑一个临时的容器,然后将代码添加到临时容器中并安装运行代码所需要的环境,最后将这个临时的容器打包成新的镜像,删除这个临时的镜像。这种效率比较慢,还不如本地跑一个容器,将所有环境配置好,然后打包成镜像使用。