关于1050AE版windows10安装dockerr服务,请问统信这服1务1器的操作系统怎么做?

1.Docker的安装在安装新的Docker之前,首先要检查一下电脑中有无已经安装好的docker,如果有,需要先将其删除,再进行安装。老版本的Docker叫docker或者docker-engine,我们可以通过下面的指令去进行卸载:$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
如果你的电脑提示没有安装这些软件或者删除完毕,就可以进行接下来的操作。安装方法有三种:通过设立Docker仓库进行安装,通过直接下载软件包进行安装,通过脚本进行安装。这里我介绍如何通过Docker仓库(Dcoker repository)进行安装。输入以下指令,安装仓库管理程序$ sudo yum install -y yum-utils
之后咱们要设置仓库源,这里推荐阿里的镜像源,输入以下指令进行设置:$ sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
或者可以设置Docker官方给出的源仓库地址,用它替换掉上面指令后面的网址部分:https://download.docker.com/linux/centos/docker-ce.repo
仓库源设置完毕后,我们就可以开始安装Docker了,输入以下指令安装Docker:$ sudo yum install docker-ce docker-ce-cli containerd.io
这里其实是安装的三个不同的东西docker-ce docker-ce-cli containerd.io,相当于Docker的配套设施,各自有不同的版本,因此有可能出现其中某个软件在仓库源中版本过高或者过低(一般默认是选择这三个软件各自最高的版本),导致三者并不能兼容,就会出现我下图所示的这种情况这时候我们需要按照错误信息给出的提示,在命令后面加上“- -nobest”:$ sudo yum install docker-ce docker-ce-cli containerd.io --nobest
这样它就会自动寻找可以进行搭配的最新版本:下载完毕后,会让你再次确认:确认完毕,安装完成:接下来输入指令,来启动Docker:$ sudo systemctl start docker
之后我们通过运行hello-world镜像,检查docker是否安装正确:$ sudo docker run hello-world
这个命令会先在你机器上下载hello-world镜像,并用这个镜像创建一个容器,当容器运行时,会显示出一些信息文字,然后退出:(我这里是第二次运行,第一次运行的时候会有下载提示)这样我们就成功安装Docker了!2.安装MySQL镜像首先输入指令来查看MySQL镜像可用版本:$ docker search mysql
接着输入指令来下载MySQL镜像:$ docker pull mysql
该指令后面本来应该有版本号这个参数,不加的话,默认下载最新版本安装完毕后,我们可以用指令查看已经下载好的镜像:$ docker images
3.创建容器,实现远程连接在创建容器之前,首先确认一点,该主机是否已经启动了mysqld进程(mysql daemon)docker通过MySQL镜像产生的容器可以认为是一个独立的完整可运行软件,当你启动容器的时候,相当于启动一个新的完整MySQL。如果你的本机已经存在MySQL,并且mysqld进程处于运行状态(本机mysql服务处于开启状态),这时再启动容器中新的mysql服务,可能会出现内存溢出的问题或者软件冲突,导致你的容器一运行就stackoverflow并关闭,或者提示你的容器无法找到并启动mysqld进程,进而启动容器失败。因此我们需要先输入以下指令查看本机mysqld进程是否开启:$ sudo systemctl status mysqld
如果是上面这种情况,说明本机mysqld进程处于开启状态,因此我们需要输入以下指令将其关闭:$ sudo systemctl stop mysqld
之后再输入上面提到过的指令,再次检查该进程状态:可以看到图标灰了,Active一行也显示“inactive”,表明这个进程已经结束,现在可以用docker中的MySQL镜像创建docker容器了。接下来还有一步查看CentOS防火墙状态,我们要确保防火墙开启,并打开接下来想要对docker容器设置端口映射的端口,否则远程可能无法连接,具体原因解释这里给个链接:https://ask.csdn.net/questions/796782关于CentOS 8防火墙的操作看我之前写的文章:CentOS 8 安装MySQL 8,并在局域网内可访问完成了操作系统防火墙的设置,不要忘了去服务器安全组件那里开放端口:通过自定义的方式,把端口映射所需主机端口开放。之后我们便可以输入以下指令创建MySQL容器:$ docker run -itd --name 容器名 -p 主机端口:容器端口 -e MYSQL_ROOT_PASSWORD=根用户密码 mysql
我先来解释一下这段指令是什么意思:-i:表示交互式操作-t:表示开启终端-d:daemon,表示后台持续运行后面的部分例如:-p:表示端口映射设置,假如我设置3200:3306,表示对主机3200端口的请求会被映射到容器3306端口进行处理-e:表示设置环境变量环境变量有很多,MYSQL_ROOT_PASSWORD只是其中一种,用来设置根用户密码。当你输入完指令,创建容器后,会出现一段容器ID。输入如下指令,会出现正在运行的容器ID:$ docker ps
还可以通过输入下面的指令查看所有容器ID:$ docker ps -a
之后要做的事情是进入容器:输入:$ docker exec -it 容器ID bash
这里稍微解释一下这个指令,-i和-t已经解释过了,后面跟的bash表示打开bash操作界面。进入容器后,我们就可以输入mysql登录用的语句进行登录了登录之后如何创建远程登录用户见我之前写的文章:CentOS 8 安装MySQL 8,并在局域网内可访问用户设置完成,退出mysql,容器也要退出,因为我们要关闭容器并重新启动(相当于重启整个mysql服务)输入以下指令:$ docker stop 容器ID
$ docker start 容器ID
接下来就是保持容器处于运行状态,然后尝试进行登录。尝试在自己的电脑进行登录:注意: 确认连接端口时要用大写的字母P,我之前用的小写字母,一直报错成功登录!我们成功通过CMD命令行登录了远程的数据库,这意味着我们同样可以用MySQL Workbench进行登录,不妨来试试:按照要求填写信息:发现可以成功连接!之后我们可以远程连接进入MySQL:可以查看到服务器信息:PS:关于docker查错的一些操作:如下图所示,我遇到了一些问题:当我们操作容器遇到一些问题的时候,可以先查看一下该容器的运行日志,输入以下指令查看日志:$ docker logs 容器ID
可以看到下面会蹦出一系列状态信息,我们可以根据状态信息推断一下哪里出了问题。细心一点会发现容器内有一个以容器名创建的.err文件,状态信息说会将一些错误记录在里面(实际查看后发现里面任何有用的信息都没有),不妨去看看这个文件在哪里。然而我们直接按照它给的路径去查找该文件是行不通的,根本无法找到(这其实是个相对路径,坑得很)它给你的路径是整个容器所在位置大文件下的相对路径,如果想找到这个文件,必须找到存储容器的文件在哪里。但是你又会发现,存储容器的文件你根本就找不到(能把人整死)这时就需要利用docker的cp指令去解决这个问题:docker cp 容器ID:/容器内文件夹名 /要拷贝到的主机目录名/
这是一个拷贝指令,会将指明的容器内文件夹拷贝到指明的主机目录。例如我输入:docker cp a632e14f213e:/var /containermysql/
表明我要将容器a632e14f213e文件目录下的var文件夹整个拷贝到主机containermysql文件夹下之后再根据之前状态信息提供的路径,我们就能找到a632e14f213e.err文件了个人认为,整个容器文件就好像一个系统,好比我用的CentOS 8,容器文件内也有etc,var等文件夹,只不过根据所利用的镜像不同,里面存储的东西不太一样。比如我用的mysql镜像,假如按照平时mysql普通安装在主机上我想修改my.cnf文件,首先要进入目录etc中的mysql文件夹,然后找到my.cnf文件,容器中也一样,先将容器中的etc文件拷贝出来,再进行修改,最后拷贝回去就OK拷贝回去所用的指令还是cp,只不过顺序反了过来:docker cp /containermysql/etc a632e14f213e:/etc
PS:关于MySQL中my.cnf文件的一些解释:这是一个MySQL配置文件,通过该文件我们可以设置MySQL服务的各种特性,该文件一般会存在于(如果是Linux系统)/etc/mysql文件夹下。此文件内一般有很多参数,而且会分成许多不同配置部分,每个部分用[]标注进行分离。关于文件中参数的解释,这里也是推荐上网去搜搜,目前感觉没有一篇是比较完整的,都是东拼西凑出来的,但是了解一下这个文件的概念还是很重要的。

我要回帖

更多关于 windows10安装docker 的文章