0. 目的
创建一个包含elasticsearch和python3的Docker环境
1.安装Docker并启动服务
1.1 ubuntu
wget -qO- https://get.docker.com/ | sh
sudo service docker start
1.2 mac
下载dmg链接 https://store.docker.com/editions/community/docker-ce-desktop-mac
dmg文件安装
运行Docker
2. Dockfile文件
FROM ubuntu
RUN mkdir -p /exp WORKDIR /exp
RUN apt-get update
RUN apt-get install -y python3
RUN apt-get install -y python3-pip
COPY . .
RUN pip3 install --no-cache-dir -r requirements.txt CMD /bin/bash
Note:
FROM: 基础镜像
RUN: 执行命令
COPY: 复制文件/文件夹
3. 使用 Dockerfile 创建镜像
docker build -t es_env .
Note:
-t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签.
4. 创建一个新的容器并运行命令(/bin/bash)
docker run -it es_env /bin/bash
Note:
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
5. 在容器内部署剩余环境
5.1 jdk安装
在官网下载jdk8的压缩包jdk-8u181-linux-x64.tar.gz
tar zxvf jdk-8u181-linux-x64.tar.gz
rm jdk-8u181-linux-x64.tar.gz
5.2 elasticsearch安装
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.2.zip.sha512
shasum -a 512 -c elasticsearch-6.3.2.zip.sha512
unzip elasticsearch-6.3.2.zip
rm elasticsearch-6.3.2.zip
5.3 新建用户
由于elasticsearch不能使用root用户进行运行,所以需要建立一个新用户
adduser exp
su exp
5.4 添加环境(修改~/.bashrc文件)
vim ~/.bashrc
alias python=python3
alias pip=pip3
export JAVA_HOME=/exp/jdk1.8.0_181
export ES_HOME=/exp/elasticsearch-6.3.2
export PATH=${JAVA_HOME}/bin:${ES_HOME}/bin:$PATH
source ~/.bashrc
6. 删除一些无用的缓存
apt-get autoclean
apt-get autoremove
apt-get clean
7. 从容器创建一个新的镜像
docker commit 710a105c3e76 dereknlp/es_env
8. 其他在过程使用到的Docker命令
8.1 删除所有容器
docker rm $(docker ps -a -q)
8.2 删除本地所有镜像
docker rmi $(docker images -q)
8.3 将指定镜像保存成 tar 归档文件
docker save -o es_env.tar es_env
8.4 标记本地镜像,将其归入某一仓库
docker tag es_env dereknlp/es_env:v1
9. 完整镜像地址
docker pull dereknlp/es_env
网友评论