Docker 学习笔记—安装及常用命令

110 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第9天,点击查看活动详情

ce4lYlyIiCWVs

Docker 使用容器化技术,可以将项目以及项目依赖的环境打包到可移植的容器中,然后发布到其他机器上。实质上,容器内的应用还是直接运行在宿主机上,各个容器之间相互隔离。

Docker 是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器实例。

Docker 安装

官网:www.docker.com/

官方文档:docs.docker.com/

安装

  1. yum 包更新到最新

    yum update
    

    注:若 Linux 虚拟机未配置网络,则可以通过查看另一篇博客配置网络:在 VM 虚拟机中 Linux 动态网络配置_ZOOM_Jie -CSDN博客

  2. 安装需要的软件包,yum-util 提供 yum-config-manager 功能,另外两个是 devicemapper 驱动依赖

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 设置 yum 源为阿里云

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  4. 安装 Docker 社区版

    yum -y install docker-ce
    
  5. 查看 Docker 版本号

    docker -v
    

设置 USTC 镜像

  1. 编辑 /etc/docker/daemon.json 文件

    mkdir -p /etc/docker
    vim /etc/docker/daemon.json
    

    注:通过 yum 安装 vim:yum -y install vim*

  2. daemon.json 文件中输入以下内容:

    {
    "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
    }
    

启动 Docker

  1. 启动 docker

    systemctl start docker
    
  2. 停止 docker

    systemctl stop docker
    
  3. 查看 docker 状态

    systemctl status docker
    
  4. 查看 docker 具体信息

    docker info
    
  5. 查看 docker 帮助文档

    docker --help
    
  6. 设置开机自动启动 docker

    systemctl enable docker
    

Docker 常用命令

镜像命令

  1. 查看镜像

    docker images
    
  2. 搜索镜像

    docker search centos
    
  3. 拉取镜像

    docker pull 镜像名称(repository):版本(tag)
    

    注:拉取镜像不加版本 (:7) 即默认拉取最后一个版本。

  4. 删除镜像

    按镜像 ID 删除镜像

    docker rmi ImageID
    

    删除所有镜像

    docker rmi docker images -q
    

容器命令

  1. 启动容器

    docker start [容器名/id]
    
  2. 停止容器

    docker stop [容器名/id]
    
  3. 查看正在运行的容器

    docker ps
    
  4. 删除容器

    docker rm [容器名/id]
    
  5. 查看所有容器

    docker ps -a
    
  6. 查看最后一次运行的容器

    docker ps -l
    
  7. 查看停止的容器

    docker ps -f status=exited
    
  8. 查看停止的容器

    docker ps -f status=exited
    
  9. 创建容器

    docker run
    

    -i:表示运行容器。 -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。 --name:为创建的容器命名(唯一)。 -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。 -d:在 run 后面加上 -d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加 -i,-t 两个参数,创建后就会自动进去容器)。 -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个 -p 做多个端口映射。

    • 交互式方式创建容器

      docker run -it --name=容器名 [镜像名称]:[版本] /bin/bash
      

      这时我们通过 ps 命令查看,发现可以看到启动的容器,状态为启动状态

    • 守护式方式创建容器(后台运行)

      docker run -di --name=容器名 [镜像名称]:[版本]
      

      进入命令行

      docker exec -it [容器名/id] /bin/bash
      
  10. 退出当前容器

    exit
    
  11. 拷贝主机文件到容器

    docker cp [文件] [容器名/id]:[目录]
    
  12. 拷贝容器文件到主机

    docker cp [容器名/id]:[文件路径] [copy文件重命名]
    
  13. 容器目录挂载(映射)

    docker run -di -v [主机目录]:[容器目录] --name=容器名 [镜像名称]:[版本]
    
  14. 查看容器详细信息

    docker inspect [容器名/id]
    

    过滤信息

    docker inspect --format='{{.[字段].[key]}}' [容器名/id]