更多信息:
本篇算是学习笔记
视频
尚硅谷
配置文件的信息
Spring Boot文档
Docker文档
狂神老师的bilibli账号:如果想学相关的知识可以关注一下
编辑器:IntelliJ IDEA 2020.1
目录
定义
Docker是一个开源的应用容器引擎;
是一个轻量级容器技术;
作用
-
实现了虚拟机里面的资源隔离,性能高于虚拟机;
-
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;
-
运行中的这个镜像称为容器,容器启动是非常快速的;
关于Docker的一些概念
docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
docker客户端(Client):连接docker主机进行操作;
docker仓库(Registry):用来保存各种打包好的软件镜像;
docker镜像(Images):软件打包好的镜像;放在docker仓库中;
docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
Docker的使用
- 安装Docker
- 去Docker仓库找到这个软件对应的镜像;
- 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;
- 对容器的启动停止就是对软件的启动停止;
安装Docker
安装Linux虚拟机及配置客户端
链接:https://pan.baidu.com/s/1Ese1_QOxvFbETtm7Mq833A
提取码:1854
VirtualBox-5.1.26-117224-Win.exe是虚拟机软件,不建议安装在C盘
centos7-atguigu.ova是Linux操作系统
SmarTTY-2.2.msi是客户端软件
安装完后导入centos7-atguigu.ova Linux操作系统
导入完成后,双击启动,应该会报物理网卡的错误
解决方法:
点击 控制,设置
登录linux虚拟机root/123456
为了方便操作,使用客户端连接服务器(不建议安装在C盘)
然后再Linux操作系统中重启网络
service network restart
查看Linux的IP地址
ip addr
需要注意的是如果你连接的是wifi,每次启动可能都有重写连接
保持Linux虚拟机开启
安装Docker
查看centOS版本,必须高于3.10才能安装Docker
uname -r
如果不是,输入下面的命令升级软件及内核
yum update
安装docker
yum install docker
等待安装完(建议安装过程中,不切换到其他界面或滑动鼠标,指到安装完)
允许它下载
之后有让你输入y/d/N的选择,你选择y就行。
安装完成
启动docker
systemctl start docker
如果出现Job for docker.service failed because the control process exited with error code.
https://blog.csdn.net/zhangbeizhen18/article/details/85239758
查看版本号
docker -v
设置docker为开机启动项
systemctl enable docker
如果你想停止docker你可以用
stop docker
Docker操作常用命令
镜像操作命令
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 eg:docker search redis | 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉取 | docker pull 镜像名:tag(tag是版本) | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 查看所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
docker search mysql
等同于我们在 docker hub上搜索
下载镜像(拉取)
docker pull mysql
查看Linux中docker的镜像
docker images
删除Linux中docker的镜像(演示)
docker rmi a347a5928046
容器操作命令
软件镜像----运行镜像----产生一个容器;
例子
下载tomcat容器
- 查找镜像文件
docker search tomcat
- 拉取镜像文件
默认下载的是最新版
docker pull tomcat
- 根据镜像启动容器
docker run --name mytomcat -d tomcat:latest
- 查看运行中的容器
docker ps
但是tomcat是docker容器中的tomcat,所以我们访问虚拟机的8080访问不到docker里面,我们需要做一个映射。
- 启动和停止容器
docker start (容器id或是容器的名字)
docker stop (容器id或是容器的名字)
- 查看所有的容器的状态(包括停止或退出的)
docker ps -a
- 删除容器(容器的状态是退出才行)
docker rm (容器id)
- 添加映射后的容器启动
注:一个镜像可以指定多个容器:也就是说我们可以让8889、8887指定8080端口
docker run -d -p 8888:8080 tomcat
运行结果
查看Linux防火墙
service firewalld status
Linux防火墙关闭
service firewalld stop
然后我们就可以在浏览器中访问虚拟机的tomcat,访问地址应该是 [虚拟机ip]:8888
9. 查看容器日志
docker logs (容器日志)
Mysql安装
安装mysql镜像文件
docker pull mysql
启动运行镜像文件
错误示例
docker run --name mysql01-d mysql
例子
正确实例
docker run -p 3306:3306 --name mysql02 -e MYSQL_ROOT_PASSWORD=root -d mysql
模板
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
… where some-mysql is the name you want to assign to your container,
my-secret-pw is the password to be set for the MySQL root user and tag
is the tag specifying the MySQL version you want. See the list above
for relevant tags.
设置完成之后,我们就可以使用mysql的数据库管理工具来连接虚拟机的数据库
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)
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
指定mysql的一些配置参数