docker使用小记

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

你可能感兴趣的:(docker使用小记)