• Docker安装和常用命令


    1.如果之前已经安装过了,执行删除:

    sudo yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-engine

    2.安装依赖的包:

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

    3.设置yum源为阿里云:

    sudo yum-config-manager 
        --add-repo 
        http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    4.更新 yum 软件源缓存,并安装 docker-ce:

    sudo yum makecache fast
    sudo yum install docker-ce

    5.查看Docker版本:

    docker -v

    6.启动 Docker CE:

    sudo systemctl enable docker #开机启动
    sudo systemctl start docker #启动

    7.建立 docker 用户组:

      默认情况下,docker 命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root 用户和 docker 组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root 用户。因此,更好地做法是将需要使用 docker 的用户加入 docker 用户组。

      建立 docker 组:sudo groupadd docker

      将当前用户加入 docker 组:sudo usermod -aG docker $USER

    8.镜像加速:

      鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置国内镜像加速。

      vim /etc/docker/daemon.json

    {
            "registry-mirrors": [
                    "https://docker.mirrors.ustc.edu.cn",
                    "https://dockerhub.azk8s.cn",
                    "https://hub-mirror.c.163.com"
            ]
    }

      重新启动服务

    sudo systemctl daemon-reload
    sudo systemctl restart docker

      检查加速器是否生效

        执行 docker info,如果从结果中看到包含如下内容,说明配置成功。

        

    Docker架构:

      

    常用命令:

      systemctl命令是系统服务管理器指令

        

       镜像相关命令:

        查看镜像:docker images

          

          REPOSITORY:镜像名称  TAG:镜像标签  IMAGE ID:镜像ID  CREATED:镜像的创建日期(不是获取该镜像的日期)  SIZE:镜像大小
            这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

        搜索镜像:docker search 镜像名称

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

        拉取镜像:
          拉取镜像就是从中央仓库中下载镜像到本地  docker pull 镜像名称:版本

        删除镜像:

          按镜像ID/名称删除镜像:docker rmi 镜像ID/名称  删除所有镜像:docker rmi `docker images -q`

      容器相关命令:

        查看容器:

          查看正在运行的容器:docker ps  查看所有容器:docker ps -a  查看最后一次运行的容器:docker ps -l  查看停止的容器:docker ps -f status=exited

        创建与启动容器:

          创建容器:docker run

                -i:表示运行容器

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

                --name:为创建的容器命名(唯一)

                -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个 -v 做多个目录或文件映射。

                  docker run -id --name c1 -v /test/2.txt:/test/2.txt centos /bin/bash
                  注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。如果共享的是多级的目录,可能会出现权限不足的提示,

                    是因为CentOS7中的安全模块selinux把权限禁掉了,需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题

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

                -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

            交互式方式创建容器:docker run -it --name=容器名称 镜像名称 /bin/bash

              /bin/bash的作用是表示载入容器后运行bash,docker中必须保持一个进程的运行,要不然整个容器启动后就会马上kill itself,

              当使用docker ps 查看启动的容器时,就会发现你刚刚创建的那个容器并不在已启动的容器队列中,/bin/bash表示启动容器后启动bash。

            退出当前容器:exit

            守护式方式创建容器:docker run -di --name 容器名称 镜像名称 /bin/bash

            登录守护式容器方式:docker exec -it 容器名称 (或者容器ID) /bin/bash

          删除容器:

            docker rm 容器名或容器ID

            docker rm `docker ps -aq` 删除所有容器

          停止与启动容器:

            停止容器:docker stop 容器名称(或者容器ID)

            启动容器:docker start 容器名称(或者容器ID)

        查看容器IP地址:

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

            docker inspect 容器名称(容器ID)

          也可以直接执行下面的命令直接输出IP地址

            docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)或 docker inspect -f='{{.NetworkSettings.IPAddress}}'

        文件拷贝:

          如果我们需要将文件拷贝到容器内可以使用cp命令

            docker cp 需要拷贝的文件或目录 容器名称:容器目录

          也可以将文件从容器内拷贝出来

            docker cp 容器名称:容器目录 需要拷贝的文件或目录

        查看容器日志:docker logs 容器名称/id

  • 相关阅读:
    RapidJavaEE 项目 开发流程说明
    [转]Ext自定义vtype动态验证
    博客园cnblogs chrome右键插件 开发
    extjs 2.0 回车切换表单,支持chrome,firefox,ie
    简单备份策略
    搜狗室验室 Web开发相关技术报告下载
    <转>记录一些BCB6的使用心得
    (转)远程桌面3389多用户登陆补丁及端口修改(XP+WIN7)
    <转>Java调用C/C++编写的第三方dll动态链接库(非native API) JNI
    清理SVN目录中.SVN
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12586731.html
Copyright © 2020-2023  润新知