Docker安装与常用命令

05、Docker:安装

目标: 掌握Docker的安装

  • Docker 可以运行在 MAC、Windows、CentOS、UBUNTU等操作系统上,提供社区版和企业版,本课程基于 CentOS7 安装Docker。

    注意:建议安装在 CentOS7.x 以上的版本,在 CentOS6.x 的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新。root itcast123

  • 资料中已经准备了安装好的镜像,使用VMWare直接挂载即可,挂载后,使用ifconfig命令查看本地ip:
    在这里插入图片描述

  • 以下是在CentOS7中安装Docker的步骤:

      # 1. yum 更新已有rpm包,升级linux内核(不做也可以)
      yum update​
      # 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【docker-ce: 社区版,免费;docker-ee:企业版,收费】
      yum install docker-ce -y​
      # 5. 安装后查看docker版本
      docker -v
    

在这里插入图片描述

06、Docker:设置ustc镜像源

目标: 掌握镜像源的设置

ustc 是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.0.4版本的时候就在用,ustc 镜像加速器速度很快。它的优势之一就是不需要注册,是真正的公共服务。

访问地址: https://lug.ustc.edu.cn/wiki/mirrors/help/docker

操作步骤

  • 创建并编辑文件/etc/docker/daemon.json

    # 执行如下命令
    mkdir /etc/docker
    vi /etc/docker/daemon.json  
    
  • 在文件中加入下面内容:

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

07、Docker:服务相关命令

目标: 掌握docker服务相关命令

常用命令:

# 启动docker服务
systemctl start docker
# 停止docker服务
systemctl stop docker
# 重启docker服务
systemctl restart docker
# 查看docker服务状态
systemctl status docker
# 设置开机启动docker服务
systemctl enable docker
# 设置开机不自动启动
systemctl disable docker
# 查看docker概要信息
docker info
# 查看docker帮助文档
docker --help

注意: systemctl命令是系统服务管理器指令。

在这里插入图片描述

08、Docker:镜像相关命令

目标: 掌握操作镜像的常用命令

8.1 镜像介绍
  • Docker镜像是由文件系统叠加而成(是一种文件的存储形式),是docker中的核心概念,可以认为镜像就是对某些运行环境以及软件打的包。

  • 用户可以从docker仓库中下载基础镜像到本地,比如开发人员可以从docker仓库下载一个只包含centos7系统的基础镜像,把基础镜像运行成为一个容器(容器相当于操作系统),然后在这个容器中安装jdk、mysql、Tomcat、部署war包,最后将容器打成一个新的镜像。开发人员将这个新的镜像提交给测试人员进行测试,测试人员只需要在测试环境下运行这个镜像成一个容器就可以了,这样就可以保证开发环境和测试环境完全一致。

在这里插入图片描述

8.2 查看镜像
# 查看镜像可以使用如下命令:
docker images

在这里插入图片描述

  • REPOSITORY: 镜像名称
  • TAG: 镜像标签 (默认是可以省略的,也就是latest)
  • IMAGE ID: 镜像ID
  • CREATED: 镜像的创建日期(不是获取该镜像的日期)
  • SIZE: 镜像大小
8.3 搜索镜像
# 如果你需要从网络中查找需要的镜像,可以通过以下命令搜索
docker search 镜像名称

在这里插入图片描述

  • NAME: 镜像名称
  • DESCRIPTION: 镜像描述
  • STARS: 用户评价,反应一个镜像的受欢迎程度
  • OFFICIAL: 是否官方
  • AUTOMATED: 自动构建,表示该镜像由Docker Hub自动构建流程创建的

大家也可以去官方搜索(http://hub.docker.com):
在这里插入图片描述

8.4 拉取镜像
# 拉取镜像就是从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本 命令如下:
docker pull 镜像名称

# 拉取centos 7
docker pull centos:7
# 拉取centos 最后版本镜像
docker pull centos:latest

在这里插入图片描述

8.5 删除镜像
# 按照镜像id删除镜像,或者镜像名称:版本号
docker rmi 镜像ID
# 删除所有镜像(谨慎操作)
docker rmi `docker images -q`

在这里插入图片描述

在这里插入图片描述

09、Docker:容器相关命令

目标: 掌握操作容器相关的命令

9.1 查看容器
  • 查看正在运行容器: docker ps

  • 查看所有容器: docker ps -a

  • 查看最后一次运行的容器: docker ps –l

在这里插入图片描述

9.2 创建与运行容器

可以基于已有的镜像来创建容器,创建与运行容器使用命令: docker run

参数说明:

-i: 表示运行容器

-t: 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端/bin/bash。

--name: 为创建的容器命名(名称不能重复)。

-v: 表示目录映射关系(前者是宿主机目录,后者是容器的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

-d: 在run后面加上-d参数, 则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,并指定终端,创建后就会自动进去容器)。

-p: 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射。
9.2.1 交互式容器
  • 交互式方式创建并运行容器,启动完成后,会直接进入当前容器。使用exit命令退出容器。以此种方式创建并启动容器,如果(第一次)退出容器,则容器会变成停止状态。

    # 先拉取一个镜像;这一步不是每次启动容器都要做的,而是因为前面我们删除了镜像,
    # 无镜像可用所以才再拉取一个
    docker pull centos:7
    
    # 创建并启动名称为 mycentos7 的交互式容器
    # 容器名称 mycentos7
    # 镜像名称:TAG (centos:7)  也可以使用镜像id (5e35e350aded)
    # /bin/bash: 进入容器命令行
    docker run -it --name=mycentos7 centos:7 /bin/bash
    

在这里插入图片描述

9.2.2 守互式容器
  • 对于一个需要长期运行的容器来说,我们可以创建一个守护式容器,命令如下(容器名称不能重复)

    # 创建并启动守护式容器
    # 容器名称: mycentos2
    # 镜像名称:TAG (centos:7)  也可以使用镜像id (5e35e350aded)
    docker run -di --name=mycentos2 centos:7
    
    # 进入容器:
    # docker exec -it container_name (或者 container_id) /bin/bash
    # exit退出时,容器不会停止
    docker exec -it mycentos2 /bin/bash
    

在这里插入图片描述

  • 说明: 守护式容器是一直运行的,退出只是退出终端,它还是在后台运行。

9.3 停止或启动容器
# 停止正在运行的容器: docker stop 容器名称|容器ID
docker stop mycentos2

# 启动已运行过的容器: docker start 容器名称|容器ID
docker start mycentos2

在这里插入图片描述

9.4 重启容器
# 重启正在运行的容器: docker restart 容器名称|容器ID
docker restart mycentos2

在这里插入图片描述

9.5 查看容器信息(包括ip)

我们可以通过以下命令查看容器运行的各种数据:

# 在linux宿主机下查看 mycentos2 的ip
# docker inspect 容器名称(容器ID)

docker inspect mycentos2

在这里插入图片描述

容器之间在一个局域网内,linux宿主机器可以与容器进行通信;但是外部的服务器是不能与容器直接通信的,如果需要则需要通过宿主机器端口的代理。

9.6 删除容器
  • 删除指定的容器: docker rm 容器名称|容器ID
  • 删除所有容器: docker rm `docker ps -a -q`
docker rm mycentos2
# 或者
docker rm 2095a22bee70

# 删除所有容器
docker rm `docker ps -a -q`

在这里插入图片描述

在这里插入图片描述

说明: 如果容器是运行状态则删除失败,需要停止容器才能删除

Memorial Day is 511 days
I miss you
xiaokeai

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值