docker类似于windows镜像系统
以前我们是先在linux上安装redis、MySQL等,然后使用linux系统
使用docker的好处,我们在一个linux上安装过mysql,把mysql打包成一个镜像,这样在另一台安装了docker的linux上,直接运行镜像就可以安装好mysql容器,不用再进行一大堆配置
而容器的启动是非常快的
核心概念
安装Docker
docker可以安装在windows,也可以安装到linux
以后开发一般是linux下
我们使用oracle提供的虚拟机
导入linux
选择管理->导入虚拟电脑
双击启动,桥接网络改为内部网络
用户名root
密码123456
使用客户端连接linux服务器来进行操作
安装SmarTTY
打开
新建SSH
设置虚拟机网络
选择网络
界面名称选择:无线则选择Wireless
勾选接入网线
这样,虚拟机就与物理机处于同一网段了
重启虚拟机网络:可以关闭虚拟机或者使用命令重启
输入ip addr查看ip地址
与物理机ip处于同一网段,即可互通
连接虚拟机
这样我们就可以在客户端操作linux了
linux下安装Docker
首先要查看centOS内核版本,3.10以上,需要升级内核:yum update
如果是升级了内核,那么需要重启虚拟机
步骤
1、检查内核版本并更新
uname -r
2、安装docker
yum install docker
3、输入y确认安装
4、启动docker
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker -v
Docker version 1.12.6, build 3e8e77d/1.12.6
5、开机启动docker
[root@localhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
6、停止docker
systemctl stop docker
启动docker,查看版本
设置docker开机启动
停止:systemctl stop docker
清屏:clear
Docker镜像常用命令
搜索mysql镜像 : docker search mysql
默认会从docker公共仓库中查找下载镜像
相当于在官网查找:https://hub.docker.com/
拉取: docker pull mysql
不加标签,默认下载最近的版本
删除镜像: 需要的是镜像的ID
docker容器命令
运行mysql软件镜像,就会产生一个mysql容器,这就是实际运行的mysql
1、搜索镜像
[root@localhost ~]# docker search tomcat
2、拉取镜像
[root@localhost ~]# docker pull tomcat:8.5.20
3、根据镜像启动容器
docker run --name mytomcat -d tomcat:8.5.20
4、查看运行中的容器
docker ps
5、 停止运行中的容器
docker stop 容器的id或者容器别名,比如这里的mytomcat
6、查看所有的容器
docker ps -a
7、启动容器
docker start 容器id或容器别名
8、删除一个容器
docker rm 容器id
9、启动一个做了端口映射的tomcat
[root@localhost ~]# docker run -d -p 8888:8080 tomcat:8.5.20
-d:后台运行
-p: 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
8888是我们给虚拟机随便指定的一个端口号,也可以是其他,而8080是tomcat默认的端口
docker run -d -p 8889:8080 tomcat:8.5.20 这样就是两个tomcat容器在运行,浏览器访问时通过 linux虚拟机ip:8889进行访问
10、为了演示简单关闭了linux的防火墙
service firewalld status ;查看防火墙状态
service firewalld stop:关闭防火墙
11、查看容器的日志
docker logs container-name/container-id
更多命令参看
https://docs.docker.com/engine/reference/commandline/docker/
可以参考每一个镜像的文档
注意:拉取tomcat镜像时,可以选择拉取tomcat8及以下版本,比如tagName:8.5.20,因为最新版本tomcat中默认首页不在webapp下,所以访问时会404
安装mysql
首先,搜索的话去Docker Hub搜索
使用命令拉取镜像
错误的启动: docker run --name mysql01 -d mysql:5.7 参考文档,必须指定密码
正确的启动:
docker run -p 3307:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
这其中还指定了mysql编码方式为utf-8,端口映射为3307
其他操作:
docker run --name mysql03 -v /conf/mysql:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
把主机的/conf/mysql文件夹挂载到 mysqldocker容器的/etc/mysql/conf.d文件夹里面
改mysql的配置文件就只需要把mysql配置文件放在自定义的文件夹下(/conf/mysql)
类似安装