Docker整理---shangguigu-springboot-03-(53-59)

下面是我自学docker的整理资料:--------------------声明:前部部分虚拟机不用了(出了很多问题转入别的虚拟机排查但是这个也没问题),后半部分问题主要内核问题,建议先升级内核。

  1. 简介

             Docker是一个开源的应用容器引擎;是一个轻量级容器技术;Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;运行中的这个镜像称为容器,容器启动是非常快速的。

            docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
            docker客户端(Client):连接docker主机进行操作;
            docker仓库(Registry):用来保存各种打包好的软件镜像;
            docker镜像(Images):软件打包好的镜像;放在docker仓库中;
            docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用;

            使用Docker的步骤:
            1)、安装Docker
            2)、去Docker仓库找到这个软件对应的镜像;
            3)、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;
            4)、对容器的启动停止就是对软件的启动停止;

    2. Docker的安装

             安装Linux的虚拟机:

                   点击下一步即可。

              打开软件-管理-导入虚拟电脑。

              选择这个虚拟电脑(需要软件的找我留言即可)

              

              注意选择重新初始化所有的网卡地址。

                打开虚拟机。默认的用户名是root密码是123456

                使用客户端连接服务器:

                注意网卡的设置保证虚拟机可以上网:

               区分有线和无线的,要是有线的话选择这个

              

              如果是无线网卡选择这个

               

              

              勾选接入网线。

             设置好了之后就和虚拟机处在同一个网段了。

             启动之后设置service network restart重启网卡。

             查看ip地址:ip addr

             

            打开shell进行连接:省略。

            下面就是帮助linux虚拟机安装docker:

             1)首先docker的必须要求Linux的内核版本高于3.10 命令uname -r

                  

                  内核版本不匹配的话要升级:yum update 

             2)安装doecker:yum install docker稍等就会安装好。

            出现Complate的时候安装完毕。

            3)启动docker:systemctl start docker

                 重启docker:systemctl restart docker

                  此时如果报错:

                 

                 解决办法:https://www.imooc.com/article/69367  

        sudo groupadd docker
        sudo usermod -aG docker $(whoami)

                vi /etc/sysconfig/docker
                改为:--selinux-enabled=false

                 查看版本号:docker -v

               说明安装成功。

              设置docker开机启动:systemctl enable docker

               

               停止docker:systemctl stop docker

         3. Docker的常用的操作

                1)镜像操作:docker search mysql

                    

                    这个命令就是默认去docker hub寻找的:https://hub.docker.com/

                    这两排分别表示是否是官方的是否是自动配置的。

                    拉取镜像:docker pull+镜像名称:docker pull mysql

                    

                    下载成功。

                   默认下载最新的mysql,可以下载指定的mysql:docker pull mysql:5.5

                   

                   docker下载会出现timeout的现象:https://blog.csdn.net/qq_33575129/article/details/78196279

                    查看docker镜像:docker images

                   

                   删除本地的镜像:docker rmi image-id,注意是镜像不是容器记住了。

                   2)容器操作

                        软件的镜像(QQ.exe安装程序)-运行镜像-产生一个容器(正在运行的软件,可运行的QQ)

                        

                        1---搜索镜像:docker search tomcat

                        2---拉取镜像:docker pull tomcat

                        3---根据镜像启动容器:docker run --name mytomcat -d(后台)tomcat(镜像名字):latest(Tag)

                                                               docker run --name mytomcat -d tomcat:latest

                        启动失败:https://blog.csdn.net/u013182745/article/details/85097310

                        启动失败大多数是因为内核的原因,解决的方法是升级内核:

# 导入yum源的认证key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 在yum的elrepo源中,有mainline(4.0.2)这个内核版本
yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y
# 查看默认启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
# 默认启动的顺序是从0开始
grub2-set-default 0 && reboot
uname -r
4.20.10-1.el7.elrepo.x86_64

                        导入失败的话:https://bugxia.com/851.html

yum -y update nss

                        4---查看容器 docker ps [-a]

                        5---停止/启动容器docker stop/start id/名字

                         

                        6---删除容器:docker rm id

                        7---docker run --name mytomcat -d -p 8888:8080 tomcat(虚拟机:容器)

                        8---访问:192.168.244.130:8888

                          

                         9-----查看容器的日志:docker logs 容器的id

                         10---

  4.docker安装mysql redis rabbitmq elasticsearch

                   1)安装mysql

                    2)运行:docker run --name mysql101 -d mysql

                  错误的启动。

                     原因:docker logs id

                     

                 数据库在初始化没有指定密码项。

                  正确的启动:

                    

                  docker rm id

                  创建容器:docker run --name mysql101 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

                docker stop ip

                创建容器:docker run -p 3306:3306 --name mysql102 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

                docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql

                上面的报错尝试缩短语句:

                

                 

                 接下来连接mysql会报错2059:

                  select user,plugin from user where user=’root’; 

                  ALTER USER ‘root’@’%’ IDENTIFIED BY ‘123456’ PASSWORD EXPIRE NEVER;

                  ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘123456’;

                  flush privileges; 

                docker进入mysql:docker exec -it id bash

                几个其他的高级操作:59后半部分

                    

       

                            docker面试题:https://www.jdon.com/51223

猜你喜欢

转载自blog.csdn.net/qq_28764557/article/details/88829191
59