• linux一些工具的安装(三)


              linux(vmware15   centos7)中Docker安装 

    一、Docker卸载

                  1.查看已安装的docker安装包          

              $yum list installed|grep docker

    执行后的结果

            docker.x86_64                        2:1.12.6-61.git85d7426.el7.centos @extras  
            docker-client.x86_64                 2:1.12.6-61.git85d7426.el7.centos @extras  
            docker-common.x86_64                 2:1.12.6-61.git85d7426.el7.centos @extras 

               2: 删除安装包 

    yum –y remove docker.x86_64 
    yum –y remove docker-client.x86_64
    yum –y remove docker-common.x86_64
    

               3:删除docker 镜像

    rm -rf /var/lib/docker

    二、Docker安装

                   1: 使用yum命令进行安装

             yum install -y docker
             备注:-y 表示不询问 使用默认配置进行安装,等待提示  完毕!

                   2.查看是否安装成功

             yum list installed | grep docker
    备注:命令为 查看yum安装完成文件列表 并 筛选docker安装信息 如下

                    

                 3.启动docker服务

          systemclt start docker   
    如果上面不行可以试用()

      sudo systemctl start docker

      sudo systemctl enable docker

                 4.验证是否安装成功

           docker version

                                     

    三、Docker的一些常规操作命令

                   1. 查看docker版本            docker  -v                                      

                   2. 启动与停止docker命令

                            systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合

             启动docker :      systemctl       start      docker

                             停止docker :      systemctl       stop      docker

                             重启docker:       systemctl       restart   docker

                             查看docker状态    systemctl      status     docker

                             开机启动:           systemctl       enable   docker

                             查看docker的概要信息:  docker     info   (可以用于测试docker是否启动)

                             查看docker命令的帮助文档 :  docker  --help    

                  3.image镜像相关的操作

                             查看本地镜像:                       docker      images

                    

                             查询搜索注册中心中的镜像 :    docker      search      镜像的名称

                                         注释:原始镜像一般先来自于官方的注册中心(类似于Maven的中央仓库),可以查询有没有需要的镜像  

                                                    记住查询出来的name的名字即可准备下载

                                                    n    NAME   :仓库名称

                                                    n    DESCRIPTION:镜像的描述

                                                    n    STARS :用户评价,反应一个镜像的受欢迎度

                                                    n    OFFICIAL :是否官方

                                                    AUTOMATED :自动构建,表示该镜像有Doker Hub自动构建流程创建的    

                             下载拉取镜像:                        docker     pull        镜像的名称(例如:docker  pull  centos:7  )    

                              删除本地镜像:                      docker     rmi         镜像的编号(image id)  /镜像的名字:版本标记:删除指定的镜像

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

                              国内镜像注册中心的使用

                                         步骤:(1)编辑文件    vi /etc/docker/daemon.json // 如果该文件不存在就手动创建;说明:在centos7.x下,通过vi。

                                                    (2)在该文件中添加registry-mirrors键值                                             

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

                                                     (3)一定要重启docker服务:                     systemctl daemon-reload

                                                                                                                           systemctl restart docker

                                                              注解:如果重启docker后无法加速,可以重启os

                                                                         然后通过docker  pull命令下载镜像。

     四、Container容器操作 

                1.容器查看

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

                             查看所有的容器(包含停止的):        docker       ps        -a

                             查看最后一次运行的容器的信息:   docker       ps         -l

                             查看停止了容器列表:                     docker       ps         -f          status=exited 

                2.创建与启动容器

                             交互式容器:

                                         步骤:(1)创建一个交互式容器,并取名为mycentos                                                       

                                  docker  run  -it  --name=mycentos  centos:7.5.1804   /bin/bash
    

                                               注解:① 如果镜像centos:7本地没有下载,自动会到注册中心寻找,并自动下载。  

                     ②  镜像的名字如果是官方的前缀名称空间docker.io,则可以省略名称空间,如:docker.io/centos可以省略为centos

                                                               ③  /bin/bash相当于windows下的cmd,即容器启动后,自动进入到容器的命令行了

                                                               ④ 自动进入到容器中的系统

                                                                  

                                                      (2)退出当前的容器  :使用exit 或者ctrl +d  退出当前的容器

                                                               

                                                                

                          守护式容器:

                                     步骤:(1)创建一个容器命名为mycentos2

                                                   docker  run   -id   --name=mycentos2    centos:7     /bin/bash 

                                              

                                                 (2)登录守护式容器:                             docker exec -it container_name (或者 container_id)  /bin/bash(exit退出时,容器不会停止 )                                             

    方式1:使用名字进入
    [root@pinyoyougou-docker docker]# docker exec -it mycentos2 /bin/bash 
    [root@2c32a5cb4a71 /]# 
    方式2:使用id进入
    [root@pinyoyougou-docker docker]# docker exec -it 2c32a5cb4a71 /bin/bash
    [root@2c32a5cb4a71 /]#  

                                             

                                            注释: 

                                                   创建并启动容器命令:docker run

                                                       -i:表示进入容器

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

                  --name :为创建的容器命名,如果不加该参数,则是随机值,不建议。

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

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

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

               3.停止和启动容器

                         停止正在运行时的容器(守护式容器) :                       docker       stop           $CONTAINER_NAME/ID

                             

                        启动以运行过的容器  :                                           docker     start       $CONTAINER_NAME/ID

                            

                          重启容器:        docker     restart       docker restart $CONTAINER_NAME/ID

              4.文件拷贝

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

                        将文件从容器中拷贝出来:              docker     cp        容器名称:容器目录         要拷贝的容器或者目录

                        

               5.目录(映射)挂在

                        我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器,创建容器时额外添加-v参数 后边为宿主机目录:容器目录 

                                       

                       如果你共享的是多级的目录,可能会出现权限不足的提示。 这是因为CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 --privileged=true 来解决挂载的目录没有权限的问题                 

                     【补充】

                             挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission denied”。

                             可通过两种方式解决:

                                   1> 以特权方式启动容器

                                        指定--privileged参数 

                      如:# docker run -it --privileged=true -v /test:/soft centos /bin/bash
                      docker run -it -v /usr/local/myhtml:/usr/local/myhtml --privileged=true --name=mycentos4 centos:7 /bin/bash

                                   2> 关闭selinux

                                         临时关闭:setenforce 0

                                         永久关闭:修改/etc/selinux/config/etc/sysconfig/selinux文件,将SELINUX的值设置为disabled。          

                      #默认值是enforcing
                      SELINUX=disabled
                      #注释掉这行(可选)
                      #SELINUXTYPE=targeted 

              保存,退出,重启系统,不想重启,可以使用:setenforce 0 ,使配置立即生效  

               6.查看容器内部的ip

                         要使用容器,需要在外面宿主机器上去映射容器内部ip

                         方法:(1)查看容器运行的各种数据:          docker    inspect          容器的名字          

    ·                                  

                                     (2)直接输出容器的ip地址:             docker      inspect       --format='{{.NetworkSettings.IPAddress}}'      容器名称

               

                 7.删除容器:

                            删除指定的容器:                docker    rm       $CONTAINER_ID/NAME              注意,只能删除停止的容器     

                             强制删除(慎用):              docker   rm    -f      容器的名称

                             先停止,再删除:            ① docker     stop       容器名称         ② docker   rm  容器名称       ③ docker  ps   -a      查看所有的容器

                             删除所有的容器:            ① docker     rm     ' docker   ps   -a   -q  '      或者   ② docker     rm      -f    ' docker    ps   -a   -q  '                             

    五、Docker中部署一些应用软件 

                  1.MySQL 部署

                         (1)拉取mysql的镜像

                                       ① docker       pull       mysql:5.7.23     或者  ② docker     pull       mysql:5                                

                  2.创建mysql容器并映射端口和改密码                     

                       docker  run  -di  --name=my_mysql  -p 33306:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql
                         注解:-p 代表端口映射,格式为  宿主机映射端口:容器运行端口
                              -e 代表添加环境变量  MYSQL_ROOT_PASSWORD是root用户的登陆密码

                  3.进入mysql容器,登录mysql 

                            进入容器 :                docker   exec    -it     my_mysql    /bin/bash 

                            登录mysql:               mysql    -u      root     -p

                            注解:mysql8的默认密码加密策略发生改变,之前的一些客户端无法登录,解决方案:

                                       使用mysql的原生命令进去,使用之前的密码策略重新修改密码                                 

                    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';

    #本地登录(如果用原生的命令行的话,不用改)

                      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
                      #远程登录
                      ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

      六、tomcat部署                            

                     1.拉取tomcat镜像:                      docker        pull         docker pull tomcat:8.5.34-jre8

                     2.创建tomcat的容器,并映射端口:               

                  docker run -id --name=my_tomcat -p 9001:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps tomcat:8.5.34-jre8
                       或者
                  docker run -id --name=my_tomcat3 -p 9003:8080 -v /usr/local/myhtml:/usr/local/tomcat/webapps --privileged=true tomcat:8.5.34-jre8
    

                3.部署web应用

                          将程序拷贝到宿主机的/usr/local/myhtml下面,比如:再建立目录myapp,里面编辑一个index.html页面作为测试主页,可能需要修改配置文件,比如mysql的数据库连接ip(是容器内网ip,如:172.17.0.2)等。提示:docker容器之间类似于内部局域网效果,互相之间可以通信(测试:地址栏输入:http://192.168.201.111:9001/myapp

     七、redis部署                   

                    1.拉取镜像:          docker pull redis:4.0.11

                    2.创建容器:          docker run -di --name=my_redis -p 6379:6379 redis:4.0.11 

                    3.测试:                 redis-cli -h 192.168.247.135 –p 6379  (在你的本地电脑命令提示符下,用window版本redis测试)

      八、备份与迁移

                应用场景如果在测试环境下,你配置好的一个镜像,需要放到正式环境下运行、或者要备份一份,回头再用、或者要做集群,弄多份一模一样的容器。需要将容器打包备份为自己的镜像

                1.容器保存为镜像:

                       docker commit my_tomcat itcast.cn/tomcat:1.0.1           或者          docker commit my_tomcat mytomcat:1.0.1

                2.镜像备份:

                       docker save -o itcast_tomcat-1.0.1.tar itcast.cn/tomcat:1.0.1        或者      docker save -o itcasttomcat.tar mytomcat

                       注解:-o 输出到的文件

                                  执行后,运行ls命令即可看到打成的tar包

                3.镜像回复 :docker  load  -i  itcast_tomcat1.2.tar    -i 输入的文件

         

    一些参考的博文  

           https://blog.csdn.net/t594362122/article/details/78642886(1)

           https://www.cnblogs.com/yufeng218/p/8370670.html(2)

           https://blog.csdn.net/qq_22211217/article/details/80414227(3)

           https://blog.csdn.net/we_shell/article/details/38368137(4)

           https://www.cnblogs.com/qgc1995/archive/2018/08/29/9553572.html

           https://www.cnblogs.com/qinxu/p/10032176.html

          

                                       

    kafka rabbitMq
  • 相关阅读:
    01、u-boot 打补丁 编译 烧写
    3、JZ2440 按键驱动(中断)
    2、JZ2440 按键驱动(查询)
    1、JZ2440 LED驱动
    004、栈的基本操作
    003、动态顺序表的插入与删除
    002、静态顺序表的插入与删除
    对百度的评价
    关于找水王的思路
    软件市场应用前景
  • 原文地址:https://www.cnblogs.com/stt101517/p/10759874.html
Copyright © 2020-2023  润新知