docker的概念
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布任何流行的Linux机器或Wndows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
步骤
1、首先我们需要准备一个阿里云的服务器,学生的话可以在这个链接白嫖(最好选用centos系统的)https://developer.aliyun.com/adc/student/#ecscolleges-collocation-stu
2、然后下载一个终端模拟器(Xshell)来操作终端服务器,就相当于在自己的电脑上来操作另一台电脑,之间的通信通过SSH协议来完成,自己的电脑存放私钥,服务器来存放公钥。
3、 找到自己的服务器进行远程连接来操作,然后输入自己设置的密码就可以运行了。在服务器中操作比较复杂,所以用Xshell来完成操作,新建一个会话,配置如下
然后输入用户名密码就可以模拟终端服务器了,然后常用的命令如下:
cd 文件名 找路径 cd / 根目录 cd ~ 当前用户目录 ls 查看目录
search 搜索镜像
安装tomcat镜像
ll 查看目录下的具体信息 touch ***.txt 创建文件 mkdir -p /a/b 创建多级目录 vi ***.txt 编辑文件 cat ***.txt 查看文件 编辑的时候有三种模式 1、 i 编辑模式,可以编辑文件 2、 esc 指令模式 :wq 保存退出 :q 强制退出
还可以用Notpad++来编辑,这样更加方便
就可以直接当文件编辑了,(更加方便)
4、然后安装虚拟化容器,就相当于在虚拟机中在装一个虚拟机,也就是虚拟机中docker就相当于一个应用。
用文档中的命令在Xshell中进行安装
通过这四步进行安装(开启docker服务后面会经常用)
然后配置镜像加速器
就相当于配置一个maven仓库来下载镜像
5、然后在容器中装镜像,容器是依托于镜像来运行的,就相当于映射到服务器中。
首先下载一个mysql
先进入hub.docker.com来找自己需要的镜像,然后找到命令
在通过-p 3306:3306改一下端口号,让mysql的端口号映射到docker的端口,虚拟机访问3306就会转到容器的3306,
6、修改一下安全组:
打开云服务器ECS
打开左边菜单的实例
打开实例最右边的管理
打开左边菜单的本实例安全组
打开右边的配置规则
右上角添加安全组规则
协议类型默认自定义,端口范围:3306/3306,授权对象:0.0.0.0/0(如果是0.0.0.0/0会不安全,自己用可以,但是部署的话要改成自己电脑的ip),其他默认就行
确定后重启服务器
7、重启服务器后需要重新启动docker和镜像
容器中常用的命令如下:
启动docker: sudo service docker start
1.docker images 列出本地主机上的镜像。
2.docker pull 从Docker Hub中拉取或者更新指定镜像。
3.docker run
-d 标识是让 docker 容器在后台运行。
-p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上。
--name 定义一个容器的名字,如果在执行docker run时没有指定Name,那么deamon会自动生成一个随机数字符串当做UUID。
-e 设置环境变量,或者覆盖已存在的环境变量。
例如:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -dmysql/mysql-server:latest
含义:容器的名字为mysql,将容器的3306端口映射到本机的3306端口,mysql数据库的密码为password ,运行的镜像为mysql/mysql-server:latest
4.docker ps
-a 查看已经创建的容器
-s 查看已经启动的容器
5.docker start con_name 启动容器名为con_name的容器。
6.docker stop con_name 停止容器名为con_name的容器。
7.docker rm con_name 删除容器名为con_name的容器。
8.docker rmi img_name 删除镜像名为img_name的镜像。
9.docker rename old_name new_name 重命名一个容器。
这里我们只需要启动docker然后启动mysql镜像就可以让服务器来访问数据库了。