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》对你有帮助,请点赞、收藏,并留下你的观点哦!