一、简介
- Docker是一个开源的应用容器引擎;是一个轻量级容器技术;
- Docker支持将软件编译成一个镜像,在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像;
- 运行中的这个镜像称为容器,容器启动是非常快速的。
二、核心概念
- docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统之上);
- docker客户端(Client):连接docker主机进行操作;
- docker仓库(Registry):用来保存各种打包好的软件镜像;
- docker镜像(Images):软件打包好的镜像;放在docker仓库中;
- docker容器(Container):镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用
使用Docker的步骤
- 安装Docker
- 去Docker仓库找到这个软件对应的镜像;
- 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;
- 对容器的启动停止就是对软件的启动停止;
三、安装Docker
- 安装虚拟机。下载地址,密码9yur
- 导入虚拟机文件centos7-atguigu.ova
- 双击启动虚拟机,使用 root/ 123456登陆
- 使用客户端连接linux服务器进行命令操作
- 设置虚拟机网络;桥接网络===选好网卡====选中接入网线;
- 设置好网络以后使用命令重启虚拟机的网络
service network restart
- 查看linux的IP地址:ip addr
- 使用客户端连接
- 在linux虚拟机上安装Docker
- 检查linux的内核版本(必须是必须是3.10及以上) uname -r
- 安装docker yum install docker
- 输入y确认安装
- 启动docker systemctl start docker ;查看docker版本 docker -v
- 设置开机启动docker systemctl enable docker
- 停止docker systemctl stop docker
- docker无法启动时,编辑dokcer配置文件 vi /etc/sysconfig/docker 输入i将配置文件的“--selinux-enabled”改成“--selinux-enabled=false”,esc退出,输入:wq保存退出,然后再重启docker。
四、Docker常用命令和操作
1)镜像操作
操作 | 命令 | 说明 |
检索 | docker search 关键字 eg:docker search redis | 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 查看所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
2 )容器操作
1.搜索镜像:docker search tomcat
2.下载镜像:docker pull tomcat:8.0.53-jre8
3.启动镜像容器:docker run --name mytomcat -d tomcat:latest
4.查看运行中的容器:docker ps
5.停止运行中的容器:docker stop 容器id
6.查看所有运行中的容器:docker ps -a
7.启动容器:docker start 容器id
8.删除容器:docker rm 容器id
9.启动tomcat做端口映射:docker run -d -p 8888:8080 tomcat
10.查看容器日志命令:docker logs 容器id
11更多docker命令https://docs.docker.com/engine/reference/commandline/docker/
3)mysql安装示例
1.下载镜像容器:docker pull mysql
2.错误的启动:docker run --name -d mysql
3.正确的启动:docker run --name -e MYSQL_ROOT_PASSWORD -d mysql(没做端口映射)
4.mysql端口映射
5.高级操作: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));
指定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