一、简介
Docker是一个开源的应用容器引擎;
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。
运行中的这个镜像称为容器,容器启动是非常快速的。类似windows里面的ghost操作系统,安装好后什么都有了。
二、核心概念
名称 | 介绍 |
---|---|
docker主机(Host) | 安装了Docker程序的机器(Docker直接安装在操作系统之上) |
docker客户端(Client) | 连接docker主机进行操作 |
docker仓库(Registry) | 用来保存各种打包好的软件镜像 |
docker镜像(lmages) | 软件打包好的镜像;放在docker仓库中 |
docker容器(Container) | 镜像启动后的实例称为一个容器;容器是独立运行的一个或一组应用 |
三、使用步骤
1、安装Docker
2、去Docker仓库找到这个软件对应的镜像;
3、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器;
4、对容器的启动停止就是对软件的启动停止
四、Docker安装
- 查看centos版本:Docker要求CentOS系统的内核版本高于3.10
[root@bogon ~]# uname -r
3.10.0-327.el7.x86_64
- 升级软件包及内核 (选做)
[root@bogon ~]# yum update
- 安装docker
[root@bogon ~]# yum install docker
- 启动docker
[root@bogon ~]# systemctl start docker
- 将docker服务设为开机启动
[root@bogon ~]# systemctl enable docker
问题:Docker服务启动时报错:Job for docker.service failed because the
control process exited with error
解决方法:
1. 修改 /etc/docker/daemon.json
{ "storage-driver": "devicemapper" }
2. 修改 /etc/sysconfig/docker-storage
DOCKER_STORAGE_OPTIONS="--selinux-enabled --log-driver=journald
--signature-verification=false"
五、常用操作
1、镜像操作
操作 | 命令 | 说明 |
---|---|---|
检索 | docker search 关键字 | 我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。 |
拉取 | docker pull 镜像名:tag | :tag是可选的,tag表示标签,多为软件的版本,默认是latest |
列表 | docker images | 查看所有本地镜像 |
删除 | docker rmi image-id | 删除指定的本地镜像 |
docker hub: https://hub.cocker.com
2、容器操作
软件镜像(QQ安装程序)----运行镜像----产生一个容器(正在运行的软件,运行的QQ);
命令地址: https://docs.docker.com/engine/reference/commandline/docker/
操作 | 命令 | 说明 |
---|---|---|
运行 | docker run --name 容器名称 -d 镜像模板 | –name:自定义容器名; -d:后台运行 |
列表 | docker ps(查看运行中的容器) | 加上-a;可以查看所有容器 |
停止 | docker stop container-name/container-id | 停止当前你运行的容器 |
启动 | docker start container-name/container-id | 启动容器 |
删除 | docker rm container-id | 删除容器 |
端口映射 | eg:docker run -d -p 6379:6379 --name myredis docker.io/redis | -p:主机端口(映射到)容器内部的端口 |
容器日志 | docker logs container-name/container-id |
六、环境搭建
1、安装mysql
2、 启动mysql后,Navicat连接失败
- 进入mysql容器中
- 进入mysql数据库
- 输入mysql密码
- 远程连接授权
- 更改加密规则
6.更新root用户密码
7.刷新权限
3、安装redis
- 下载
docker pull redis
- 运行
docker run -d -p 6379:6379 --name myreids docker.io/redis
- 查看
docker ps
4、安装rabbitmq
- 下载
docker pull rabbitmq:management
- 运行
docker run -d -p 5672:5672 -p 15672:15672 --name myrabbitmq 87d31604e8cf
- 查看
docker ps
访问路径: http://192.168.99.108:15672/
5、安装elasticsearch
- 下载
docker pull elasticsearch:8.6.2
- 运行
docker run -e ES_JAVA_OPTS="-Xms256m-Xmx256m”-d -p 9200:9200 -p 9300:9300 --name ES01 6f8bf0ce76ea
- 查看
docker ps
访问路径: http://192.168.99.108:9200/