失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > linux docker安装 制作Elasticsearch容器镜像 并上传docker hub

linux docker安装 制作Elasticsearch容器镜像 并上传docker hub

时间:2024-05-17 08:57:01

相关推荐

linux docker安装 制作Elasticsearch容器镜像 并上传docker hub

1 linux docker下载安装 创建操作系统并启动容器

1.ubuntu系统下载docker

apt-get install -y docker.io#查看docker版本docker version

2.docker拉取镜像

#拉取ubuntu镜像或者拉取centos镜像,并创建容器,取决于你想要docker为什么系统,我需要的系统为centosdocker pull centosdocker run -i -t centos:latest /bin/bash#docker pull ubuntu#docker run -t -i ubuntu /bin/bash#退出并停止容器exit#或者只退出容器并不停止ctrl+p 然后ctrl+Q#查看docker imagesdocker images#查看docker运行过的容器docker ps -a

3.docker容器启动方式

方法1

#8924284ea7f2为容器CONTAINER ID,见截图。以下为启动ID号为8924284ea7f2,并attach调出后台容器docker start 8924284ea7f2docker attach 8924284ea7f2

方法2

#fervent_torvalds为容器的名字,可通过docker ps -a 查询docker start -ai fervent_torvalds#也可更改容器名字 docker rename fervent_torvalds MLforZ

2 容器内安装Elasticsearch,或者你需要的其他软件等操作

1.centos的下载工具yum更新,以及安装wget断点下载工具

yum updateyum install wget

2.安装java,ES 5要求java1.8

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%%2F; oraclelicense=accept-securebackup-cookie" "/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz"tar xzf jdk-8u131-linux-x64.tar.gz#修改java安装目录yum install vimvim ~/.bashrcsource ~/.bashrcjava -version

3.安装ES

下载并解压ES

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.tar.gztar -zxvf elasticsearch-5.3.0.tar.gz

ES不能使用root用户启动,所以创建普通用户es,并给予操作ES安装目录的权限

groupadd esuseradd es -g es -p espasswd eschown -R es:es elasticsearch-5.3.0

进入es账户,启动es

su escd elasticsearch-5.3.0/bin/./elasticsearch

Note:如果ES需要外部非localhost连接,需要修改配置文件的IP

#在docker直接查看/etc/hosts文件vim /etc/hosts#结果如下,可知ip为172.17.0.4:127.0.0.1 localhost::1localhost ip6-localhost ip6-loopbackfe00::0 ip6-localnetff00::0 ip6-mcastprefixff02::1 ip6-allnodesff02::2 ip6-allrouters172.17.0.48924284ea7f2

vim elasticsearch.yml#修改elasticsearch.yml文件中IP和端口号,其中172.17.0.4为上一步骤从/etc/hosts查看得到network.host: 172.17.0.4http.port: 9200#然后用普通用户es重启ES,就可以外部访问啦

2 把容器制作成备份镜像,并push到docker hub

把容器制作成images镜像(名字不能有大写字母,会出现)

docker commit 8924284ea7f2 elasticsearch:latest

首先到/account/signup/ 创建账号,然后邮件激活后,create一个elasticsearch的仓库,此处我的账户名为xmojiao,新建的仓库名为elasticsearch。

接着在命令行测试登录

docker login#然后输入docker hub的用户名和您的密码,登录成功出现Login Successed

给新创建的镜像打上tag并push到仓库中,其中xmojiao为docker hub账户名字,elasticsearch为新建的仓库名字,latest为tag.

docker tag d0cb7231d5d6 xmojiao/elasticsearch:latestdocker push xmojiao/elasticsearch:latest

3 docker其他常用操作

1.退出容器

退出时,使用[ctrl + D],这样会结束docker当前线程,容器结束,可以使用[ctrl + P][ctrl + Q]退出而不终止容器运行

2.批量删除已经停止的容器,在运行的不会被删除

长期操作导致大量的容器堆积,需要对这些没有用的容器进行批量删除

Docker rm `docker ps -a |awk '{print $1}' | grep [0-9a-z]`

1> docker rm 支持多个容器id 用“ ” 将多个容器连接起来进行批量删除2> “ 可以将中间的命令处理结果作为 rm 命令的输入3> awk 命令将ps得到的所有容器ID,但其中包含了 Container ID 这个列的表头,所以需要删去 4> 用grep 命令进行删除,支配小写的字母和数字

3.备用命令

systemctl start dockersystemctl enable dockerapt-get install -y febootstrap

4.后续使用docker

docker ps -a#发现名字为MLforZ的容器状态为exctied(0)即为已停止docker imagesdocker start -ai MLforZ#打开此容器但是如果需要此容器后台启动,退出时需要使用快捷键ctrl+p ctrl+q,再次使用docker ps -a,发现状态没有exctied(0)即为后台在运行

如果觉得《linux docker安装 制作Elasticsearch容器镜像 并上传docker hub》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。