云计算基础学习之 -- docker 入门基础命令

docker基础命令使用

    • 一,docker安装
      • centos 系统安装docker
    • 二,docker镜像仓库设置
    • 三,docker 镜像相关命令
      • 镜像仓库登录/退出
        • 镜像搜索
      • 下载镜像
        • 查看本地docker 镜像
        • docker 镜像保存并下载到本地
      • docker 镜像上传并导入本地
      • docker 镜像打tag
      • docker 本地镜像上传到镜像仓库
      • docker 镜像删除
    • 四,docker镜像运行
      • docker run / docker creat
      • docker exec

一,docker安装

centos 系统安装docker

  1. centos7及以上版本 (为什么用centos呢,centos稳定性最好,是云计算最常用的linux系统,建议使用centos系统)

  2. 先检查是否已安装,卸载旧版本(新装系统可略过此步骤)

    $ yum list installed | grep docker 
    containerd.io.x86_64                 1.2.13-3.2.el7                 @docker-ce-stable
    docker-ce.x86_64                     3:19.03.9-3.el7                @docker-ce-stable
    docker-ce-cli.x86_64                 1:19.03.9-3.el7                @docker-ce-stable
    # yum 删除 已安装的docker 
    $sudo yum remove  docker-ce.x86_64 \
                      docker-ce-cli.x86_64 \
                      containerd.io.x86_64
    #提示 complete!卸载成功  
    #进一步验证卸载成功
    yum list installed |grep docker 
    #没有docker相关程序 说明卸载成功
    
  3. 安装前置软件并设置仓库

    #安装yum-utils, device-mapper-persistent-data , lvm2三个软件
    yum-utils – 提供yum-config-manager
    device-mapper-persistent-data , lvm2 — device mapper存储驱动所需

    $ sudo yum install -y yum-utils \
      device-mapper-persistent-data \
      lvm2
    

    设置稳定的仓库

    $ sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    
  4. 安装docker engine-community

    • 安装最新版本
    $ sudo yum install -y  docker-ce docker-ce-cli containerd.io
    
    • 安装制定版本

    1)先列出docker-ce docker-ce-cli 可用版本

    $yum list docker-ce --showduplicates
    docker-ce.x86_64            3:19.03.9-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.8-3.el7                    docker-ce-stable 
    docker-ce.x86_64            3:19.03.7-3.el7                    docker-ce-stable 
    
    $yum list docker-ce-cli --showduplicates 
    docker-ce-cli.x86_64             1:19.03.9-3.el7               docker-ce-stable 
    docker-ce-cli.x86_64             1:19.03.8-3.el7               docker-ce-stable 
    docker-ce-cli.x86_64             1:19.03.7-3.el7               docker-ce-stable 
    
    1. 使用制定版本安装
    $sudo yum install docker-ce.x86_64-docker-ce.x86_64 docker-ce-cli.x86_64-1:19.03.9-3.el7 containerd.io
    
    • 查看docker是否安装成功
    $ yum list installed |grep docker  
    containerd.io.x86_64                 1.2.13-3.2.el7                 @docker-ce-stable
    docker-ce.x86_64                     3:19.03.10-3.el7               @docker-ce-stable
    docker-ce-cli.x86_64                 1:19.03.10-3.el7               @docker-ce-stable
    #说明安装成功
    
  5. 启动docker

sudo systemctl start docker 

查看docker 进程是否启动

systemctl status  docker #如下表示运行docker正常 

云计算基础学习之 -- docker 入门基础命令_第1张图片

二,docker镜像仓库设置

  1. 在 /etc/docker/ 路径下,vi/vim修改daemon.json (如果没有则使用touch命令增加文件)

    "registry-mirrors":["https://registry.docker-cn.com"]
    

云计算基础学习之 -- docker 入门基础命令_第2张图片

参考:常见docker镜像仓库

https://hub.docker.com/  #  (默认镜像仓库)
https://registry.docker-cn.com/  (docker 中国仓库)
https://c.163yun.com/hub#/m/home/  国内163镜像仓库(需登录)
https://registry.cn-shanghai.aliyuncs.com 阿里云-上海镜像仓库(需登录)
  1. 重新读取 daemon配置, 修改后重启docker 服务
systemctl daemon-reload
systemctl restart docker
  1. 查看镜像仓库设置是否生效
docker info

云计算基础学习之 -- docker 入门基础命令_第3张图片

三,docker 镜像相关命令

以tomcat 的 docker 镜像为例

  • 镜像仓库登录/退出

    docker  login  -u  aaaaa  -p bbbbb # 以用户名aaaaa密码bbbbb登录本地镜像仓库 
    #非必须,一般私有仓库需登录,如阿里云,163等,公共仓库不必登录,如:https://hub.docker.com/ 
    或 https://registry.docker-cn.com/ 
    
    docker logout #退出镜像仓库登录
    
  • 镜像搜索

    docker search  tomcat  #从镜像仓库中搜索 tomcat 镜像 
    

云计算基础学习之 -- docker 入门基础命令_第4张图片

  • 下载镜像

    • 下载最新镜像
    docker pull tomcat  #从镜像仓库下载镜像到本地
    
    • 下载指定镜像
    docker pull tomcat:V1 # 以v1版本为例 (示例)从镜像仓库下载版本为v1的镜像到本地
    
  • 查看本地docker 镜像

    docker images #列出本地所有镜像
    
  • docker 镜像保存并下载到本地

    docker save -o  tomcat.tar  tomcat:latest  #将镜像文件保存为.tar 格式,可下载到本地或传输到其他环境
    
    sz tomcat.tar  #下载到windows本地,(需提前yum安装lrzsz)
    
  • docker 镜像上传并导入本地

    rz  tomcat.tar  #上传到centos系统 
    docker load -i tomcat.tar# 将 .tar导入为docker镜像
    docker  images #查看镜像
    
  • docker 镜像打tag

    docker tag hello-world:v1 hello-world:latest #复制hello-world 并重新打上v1版本标签,并不会删除latest的版本
    
  • docker 本地镜像上传到镜像仓库

     docker push hello-world:v1 #本地仓库上传到镜像仓库
    
  • docker 镜像删除

    docker rmi -f hello-world:v1  #强制删除  hello-world v1版本的镜像 
    

四,docker镜像运行

docker run / docker creat

docker run 和 docker creat的区别:

docker run : 创建容器并启动

docker creat:创建容器不启动

格式:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker cerat [OPTIONS] IMAGE [COMMAND] [ARG...]

常用参数:

  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的高端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=“nginx-lb”: 为容器指定一个名称;
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • -h “mars”: 指定容器的hostname;
  • -e username=“ritchie”: 设置环境变量;
  • –env-file=[]: 从指定文件读入环境变量;
  • **-m : **设置容器使用内存最大值;
  • –net = “bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • –expose= []: 开放一个端口或一组端口;
  • –volume , -v: 绑定一个卷

举例

 docker run -p 127.0.0.1:8080:80 -v /etc/:/etc --name tomcat-run -it tomcat:latest /bin/bash 
 # 映射容器端口80到主机8080;
 # 映射容器文件目录/etc 到主机的/etc 
 # 给容器命名为 tomcat-test 
 # 容器运行 bash 命令 
 # 容器运行的镜像为 tomcat:latest 
 docker creat -p 127.0.0.1:8080:80 -v /etc/:/etc --name tomcat-creat tomcat:latest
  # 映射容器端口80到主机8080;
 # 映射容器文件目录/etc 到主机的/etc 
 # 给容器命名为 tomcat-creat 

docker exec

格式:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

常用参数:

  • -d : 分离模式: 在后台运行
  • -i : 即使没有附加也保持STDIN 打开
  • -t : 分配一个伪终端

举例

docker exec -ti tomcat:latest /bin/bash # 进入容器 /bin/bash 交互模式
docker exec -ti tomcat:latest /bin/bash /etc/test.sh  进入容器/bin/bash模式,执行test.sh脚本  

你可能感兴趣的:(常用命令,docker,linux,centos)