快速入门Docker

1、Docker三要素

镜像(相当于Java的类模板)
容器(相当于new出来的Java类实例对象)
仓库(存放镜像的地方)

2、在linux上安装Docker

官网安装地址

1、确认你是CentOS7及以上版本:cat /etc/redhat-release
2、卸载旧版本: yum remove docker \
              docker-client \
              docker-client-latest \
              docker-common \
              docker-latest \
              docker-latest-logrotate \
              docker-logrotate \
              docker-engine
3、yum安装gcc相关:
			① yum -y install gcc
			② yum -y install gcc-c++
4、安装需要的软件包:yum install -y yum-utils
5、设置stable镜像仓库:yum-config-manager \
					--add-repo \
					https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
6、更新yum软件包索引:yum makecache fast
7、安装Docker CE:yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
8、启动Docker:systemctl start docker
9、测试Docker:① docker version
			  ② docker run hello-world

3、镜像加速器配置

打开阿里云,点击控制台
在这里插入图片描述

在左边列表中选择 “容器镜像服务”
在这里插入图片描述

接下来点击镜像加速器
在这里插入图片描述

选择对应的操作系统,并把底下的代码copy到对应的操作系统中即可
在这里插入图片描述

4、卸载Docker

systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

5、Docker常用命令

帮助启动类命令

启动docker:systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看docker概要信息:docker info
查看docker总体帮助文档:docker --help
查看docker命令帮助文档:docker 具体命令 --help

镜像命令

列出本地主机上的镜像:docker images
查找镜像:docker search 镜像名字
下载镜像:docker pull 镜像名字[:tag]
查看 镜像/容器/数据卷 所占的空间:docker system df
删除镜像:docker rmi 镜像ID

容器命令

新建容器:docker run 容器名
列出当前所有正在运行的容器:docker ps
退出容器: ① exit     容器退出也停止
		  ② ctrl+p+q      容器退出但不停止
启动已经停止运行的容器:docker start 容器ID或者容器名
重启容器:docker restart 容器ID或者容器名
停止容器:docker stop 容器ID或者容器名
强制停止容器:docker kill 容器ID或者容器名
删除已停止的容器:docker rm 容器ID
查看容器日志:docker logs 容器ID
查看容器内运行的进程:docker top 容器ID
查看容器内部细节:docker inspect 容器ID					 		
从容器内拷贝文件到主机上:docker cp 容器ID:容器内路径 目的主机路径				 

6、自己怎么创建新的镜像

这里,我打算在一个已有的镜像上加 vim指令并形成一个新镜像。

开始时,centos镜像没有vim命令
在这里插入图片描述
在这里插入图片描述
接着,我们开始安装vim命令
在这里插入图片描述
安装完成之后,我们发现可以使用vim命令了
在这里插入图片描述
随后,退出容器,查看刚刚容器的ID
在这里插入图片描述
然后,输入命令使刚刚的容器变成镜像

docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]

在这里插入图片描述

查看本机上的镜像,发现创建了一个新的带有vim指令的镜像
在这里插入图片描述

7、Docker容器数据卷的使用

数据卷的含义:通过目录的挂载,使Docker容器中产生的数据可以同步到本地,让数据共享

如何使用数据卷?

docker run -it --privileged=true -v /主机目录:/容器内目录 镜像名

① 当本地数据改变时,容器内的数据也会改变
② 当容器内的数据改变时,本地数据也会改变
③ 当容器停止时,改变本地数据,再开启容器,容器内的数据依然会改变

8、Docker常规安装软件

总体步骤

① 搜索镜像
② 拉取镜像
③ 查看镜像
④ 启动镜像:服务端口映射
⑤ 停止容器
⑥ 移除容器

比如:

安装tomcat


拉取tomcat镜像
在这里插入图片描述
使用tomcat镜像创建容器实例
在这里插入图片描述
容器已启动
在这里插入图片描述


如果安装的是最新版本的tomcat,直接访问会访问不到
在这里插入图片描述
需要进入到容器内,可以发现 “webapps” 文件夹为空,我们需要把 “webapps” 文件夹删除,并把 “webapps.dist” 文件夹改名为 “webapps”
在这里插入图片描述
在这里插入图片描述
此时,我们就可以访问了
在这里插入图片描述

安装mysql


拉取mysql8.0.22镜像
在这里插入图片描述


创建容器

docker run -d -p 3306:3306 --privileged=true -v /usr/local/docker/mysql/log:/var/log/mysql -v /usr/local/docker/mysql/data:/var/lib/mysql -v /usr/local/docker/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mymysql mysql:8.0.22

在这里插入图片描述
宿主机对应挂载路径就会出现三个文件夹
在这里插入图片描述


为了解决乱码问题,在宿主机对应路径的 conf 文件夹下新建 my.cnf ,并输入以下代码

[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8

在这里插入图片描述

在docker容器内登录mysql并查看字符编码,成功改成UTF-8

show variables like 'character%'

在这里插入图片描述

安装redis


拉取镜像

docker pull redis:7.0.0


创建挂载目录,并拷贝 redis.conf 文件在挂载目录下(可以从redis官网上拉取。也可以拷贝以前linux服务器上的 redis.conf 文件,这里 redis 的版本要与 redis.conf 版本对应。具体命令如下:)

scp命令的实际应用
本地复制远程文件:(把远程的文件复制到本地)
scp root@192.168.30.100:/val/test/test.tar.gz /val/test/test.tar.gz
远程复制本地文件:(把本地的文件复制到远程主机上)
scp /val/test.tar.gz root@192.168.30.100:/val/test.tar.gz
本地复制远程目录:(把远程的目录复制到本地)
scp -r root@192.168.30.100:/val/test/ /val/test/
远程复制本地目录:(把本地的目录复制到远程主机上)
scp -r /val/ root@192.168.30.100:/val/
注:复制的是目录的话就要加-r参数


修改redis.conf文件,把69、70、71行注释掉(允许redis外地连接)
在这里插入图片描述

把112行设置为no
在这里插入图片描述
把310行设置为no(否则,会和docker run中-d参数冲突,导致容器一直启动失败)
在这里插入图片描述


启动redis容器

docker run -p 6379:6379 --privileged=true -v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis/data:/data -d --name myredis redis:7.0.0 redis-server /etc/redis/redis.conf

安装rabbitmq

docker run -d -p 15672:15672 -p 5672:5672 \
-e RABBITMQ_DEFAULT_VHOST=rabbitmp_test  \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
--name mq \
rabbitmq:management

参数说明:

-d:表示在后台运行容器;
-p:将容器的端口 5672(应用访问端口)和 15672 (控制台Web端口号)映射到主机中;
-e:指定环境变量:
RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认的用户密码;
–name rabbitmq:设置容器名称;
rabbitmq:容器使用的镜像名称;

//进入容器内部  我这里使用容器名字进入 也可以使用容器id
docker exec -it mq /bin/bash
----------------------------------
//开启web后台管理界面
rabbitmq-plugins enable rabbitmq_management


输入网址,即可访问
在这里插入图片描述

在这里插入图片描述
默认的用户名和密码都是guest,但由于我们启动的时候设置了默认的用户名和密码,所以我们可以使用设置的用户名和密码登录。

安装elasticsearch

docker pull elasticsearch:7.4.2

mkdir /usr/local/docker/elasticsearch/data
mkdir /usr/local/docker/elasticsearch/config
echo "http.host:0.0.0.0">>/usr/local/docker/elasticsearch/config/elasticsearch.yml

docker run --name myelasticserch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 -v  /usr/local/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /usr/local/docker/elasticsearch/data:/usr/share/elasticsearch/data -v  /usr/local/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2

如果报错则需要把权限改一下

chmod -R 777 /usr/local/docker/elasticsearch/


安装可视化界面

docker pull kibana:7.4.2
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.219.146:9200 -p 5601:5601 -d kibana:7.4.2


安装ik分词器

进入已经启动成功的elasticsearch容器。
docker exec -it myelasticsearch /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.2/elasticsearch-analysis-ik-7.4.2.zip
下载完成之后,退出去,重新启动elasticsearch容器
docker restart myelasticsearch


验证elasticsearch是否安装成功:访问http://ip:9200,如果出现以下东西,说明安装成功在这里插入图片描述

验证kibana是否安装成功:访问http://ip:5601,出现以下界面说明安装成功在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值