Docker是什么
Docker可以理解成一个虚拟机
Docker是一个轻量级的应用容器框架
Docker可以打包、发布、运行任何应用
Docker应用场景
Web应用的自动化打包和发布
自动化测试和持续集成、发布
在服务器环境中部署和调整数据库或其他的后台应用
从头编译或者扩展现有OpenShift或Cloud Foundry平台来搭建自己的Paas环境
Docker架构
Docker中的镜像
Docker的镜像相当于我们以前的软件碟片,这些碟片存储着各种各样的内容。镜像是创建容器的模板。
Docker中的容器
Docker的容器相当于独立运行的进程。也就是将碟片中的软件运行了起来。
Docker常用命令
下载容器镜像: docker pull 镜像名称
运行镜像: docker run 镜像名称 运行命令
在容器中安装新程序:docker run 容器名称 apt-get install -y 程序名称
保存对容器的修改:docker commit 容器id 镜像名称
检查运行中的镜像:docker inspect efe
发布自己的镜像:docker push 镜像名称
Docker中安装运行 mysql
下载最新版本的mysql: docker pull mysql:latest
创建相关本地目录:mkdir conf mkdir data mkdir logs
运行mysql:docker run --name mysql.latest -p 3306:3306 -v /data:/var/lib/mysql -v /conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
1. --name mysql.latest 给容器命名
2. -p 3306:3306 映射端口 本地端口:容器端口
3. -v /data:/var/lib/mysql 目录映射 本地目录:容器目录
4. -e MYSQL_ROOT_PASSWORD=123456 初始密码
连接mysql数据库:mysql -h 127.0.0.1 -u root -p
*如碰到高版本数据库造成命令行无法连接问题(例如:Authentication plugin 'caching_sha2_password' cannot be loaded.....),解决办法如下:
1. 进入mysql容器:docker exec -it mysql.latest /bin/bash
2. 连接数据库:mysql -uroot -p
3. 修改密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';