遇到的Docker常用命令

一、安装Docker

1)Docker 要求 CentOS 系统的内核版本高于 3.10 ,首先查看系统内核版本是否满足
uname -r
2)使用 root 权限登录系统,确保 yum 包更新到最新
sudo yum update -y
3)假如安装过旧版本,先卸载旧版本
sudo yum remove docker docker-common docker-selinux docker-engine
4)安装 yum-util 工具包和 devicemapper 驱动依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5)设置 yum 源(加速 yum 下载速度)

sudo yum-config-manager --add-repo 
https://download.docker.com/linux/centos/docker-ce.repo

如果连接超时,可以使用 alibaba 的镜像源:

sudo yum-config-manager --add-repo 
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

6)查看所有仓库中所有 docker 版本,并选择特定版本安装,一般可直接安装最新版
yum list docker-ce --showduplicates | sort -r
7)安装 docker
(1)安装最新稳定版本的方式:
sudo yum install docker-ce -y #安装的是最新稳定版本,因为 repo 中默认只开启 stable 仓库
(2)安装指定版本的方式:

sudo yum install <FQPN> -y
# 例如:
sudo yum install docker-ce-20.10.11.ce -y

8)启动并加入开机启动

sudo systemctl start docker #启动 docker
sudo systemctl enable docker #加入开机自启动

9)查看 Version,验证是否安装成功
docker version
若出现 Client 和 Server 两部分内容,则证明安装成功

2.使用Docker开发镜像编译

1)下载源码并解压
通过 wget 下载(或者手动上传下载好的压缩包)。

wget 
https://dist.apache.org/repos/dist/dev/incubator/doris/0.15/0.15.
0-rc04/apache-doris-0.15.0-incubating-src.tar.gz

解压到/opt/software/

tar -zxvf apache-doris-0.15.0-incubating-src.tar.gz -C 
/opt/software

2)下载 Docker 镜像
docker pull apache/incubator-doris:build-env-for-0.15.0
可以通过以下命令查看镜像是否下载完成。
docker images
3)挂载本地目录运行镜像
以挂载本地 Doris 源码目录的方式运行镜像,这样编译的产出二进制文件会存储在宿主
机中,不会因为镜像退出而消失。同时将镜像中 maven 的 .m2 目录挂载到宿主机目录,以
防止每次启动镜像编译时,重复下载 maven 的依赖库。

docker run -it \
-v /opt/software/.m2:/root/.m2 \
-v /opt/software/apache-doris-0.15.0-incubating-src/:/root/apachedoris-0.15.0-incubating-src/ \
apache/incubator-doris:build-env-for-0.15.0

4)切换到 JDK 8

alternatives --set java java-1.8.0-openjdk.x86_64
alternatives --set javac java-1.8.0-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/java-1.8.0

5)准备 Maven 依赖
编译过程会下载很多依赖,可以将我们准备好的 doris-repo.tar.gz 解压到 Docker 挂载的对应目录,来避免下载依赖的过程,加速编译。
tar -zxvf doris-repo.tar.gz -C /opt/software
也可以通过指定阿里云镜像仓库来加速下载:
vim /opt/software/apache-doris-0.15.0-incubating-src/fe/pom.xml
标签下添加:

<repository>
 <id>aliyun</id>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>

vim /opt/software/apache-doris-0.15.0-incubating-src/be/pom.xml
标签下添加:

<repository>
 <id>aliyun</id>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</repository>

6)编译 Doris
sh build.sh
如果是第一次使用 build-env-for-0.15.0 或之后的版本,第一次编译的时候要使用如下命令:
sh build.sh --clean --be --fe --ui
因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过--clean 命令强制
使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。
7) 查看Docker容器id,进入容器
docker ps
docker exec -it *docker_id /bin/bash