docker入门

  • 2016-11-13 00:01:21
  • 1259
  • 0

上一篇博客已经对docker做了简单的介绍。话不多说,下面将直接从零基础到使用对docker进行讲解。

​在讲解之前必须知道docker的原理:

 1、docker本身可以理解成一台可以装任何软件或者系统的虚拟机。

 2、docker镜像可以直接从hub.docker.com拉取,可以理解成面向对象思想当中的类,可以用它来初始化N个对象(容器)以便使用。

​ 3、docker容器由镜像(一般通过 docker run 指令或者docker-compose 文件)生成,当然通过docker commit指令也可以由容器生成镜像,甚至可以上传到docker官网的hub,这方面类似于github。

​1、docker的安装

​     docker支持多种平台,但是各种平台基本都有版本要求。一般安装参见官网:https://docs.docker.com/,linux和mac的安装已亲测简单可用,docker在windows和mac上的原理是一样的,都是建虚拟机的方式,但windows安装稍麻烦。下面将对windows的安装进行讲解。

​     docker在windows上的安装简单来说大致分两步。

​     第一步下载官网提供的msi安装文件(https://download.docker.com/win/stable/InstallDocker.msi)并安装,获得docker-machine和docker指令。

​     第二步创建虚拟机(注:在默认情况下,第一步会引导创建一个默认虚拟机),可以使用docker-machine create 指令新创建一个虚拟机。进行此步骤之前大多数情况下,需要重启电脑进入bios将virtualiation选项置为enabled。

​2、docker的使用

在docker在使用之前,windows系统须启动虚拟机并且当前命令行环境能够连上虚拟机,而mac以及linux系统必须启动docker服务,因为对于mac和linux系统docker服务与虚拟机绑定在一起的。关于windows要善于利用docker-machine指令,具体使用帮助可输入docker-machine --help, 关于cmd环境连接虚拟机需要执行 eval(docker-machine env 虚拟机名),对于无eval指令的可以直接复制env指令显示出的内容,粘贴执行即可。如图:

​  

​  

​  连上虚拟机之后,接下来就是关于docker的使用了,这里只讲解下docker最基本的指令,主要有docker run,docker start,docker stop等。

​  这里从怎么部署一台mysql为例,进行讲解。其实很简单,看官方镜像说明即可:https://hub.docker.com/_/mysql/。

​  命令如下:  

创建mysql容器(服务)
docker pull mysql(可省略)
docker run -p 33061:3306 --name mysql_demo -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=mysql_test -d mysql
此命令创建将容器端口映射到主机33061端口 root密码为root 创建mysql_test数据库 容器名为mysql_demo的mysql服务容器。
关于docker run具体用法可通过指令:docker run --help进行查看。
连接mysql,通过docker inspect mysql_demo查看容器IP为:172.18.57.22 import MySQLdb conn = MySQLdb.connect(host='172.18.57.22', port=33061, user='root', passwd='root', db='mysql_test', charset="utf8") >>> conn.get_server_info() '5.7.16'

至此,docker的基本用法已初步介绍完毕,可以看出通过docker部署一个基本的服务是非常简单的,当然有些项目需要对mysql进行相关配置的,所以相关的配置文件还是需要人为去配置好然后映射到docker容器中使之成为容器中mysql服务的配置文件。

 

 


发表评论

* *