制作docker镜像之rk1808镜像、rv1126镜像
docker使用以及docker CLI,具体参考docker参考手册
拉基础镜像:
docker pull ubuntu:18.04
查看镜像容器:
# 查看镜像
docker image ls
# 查看容器
docker ps -a
进入镜像:启动容器
docker run --hostname=ubuntu1804 -it --name ubuntu1804 ubuntu:18.04 /bin/bash
更改镜像源
sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
apt clean
apt-get update -y
apt-get upgrade -y
安装工具链
- rk1808
apt-get install git-core gnupg flex bison gperf \
build-essential zip curl zlib1g-dev gcc-multilib \
g++-multilib libc6-dev-i386 lib32ncurses5-dev \
x11proto-core-dev libx11-dev lib32z1-dev \
ccache libgl1-mesa-dev libxml2-utils \
xsltproc unzip device-tree-compiler liblz4-tool \
libfile-which-perl sed make binutils gcc g++ \
bash patch gzip bzip2 perl tar cpio python \
unzip rsync file bc libmpc3 git repo texinfo \
pkg-config cmake tree texinfo m4 autoconf automake \
libncurses5-dev openssh-server -y
- rv1126
apt-get install device-tree-compiler git u-boot-tools \
mtools parted libudev-dev libusb-1.0-0-dev autoconf autotools-dev \
libsigsegv2 m4 intltool libdrm-dev curl sed make binutils \
build-essential gcc g++ bash patch gzip gawk bzip2 perl tar cpio \
python unzip rsync file bc wget libncurses5 libglib2.0-dev \
libgtk2.0-dev libglade2-dev cvs git mercurial openssh-client \
subversion asciidoc w3m dblatex graphviz libssl-dev \
expect fakeroot cmake flex bison liblz4-tool libtool keychain \
net-tools adb lib32gcc-7-dev g++-7 libstdc++-7-dev libncurses5-dev \
libncursesw5-dev openssh-server -y
注意:
若编译遇到报错,可以视报错信息,安装对应的软件包。
需要选择时区的,根据实际选择即可。
提交并更新到docker hub
需要在docker hub中注册账号以及新建一个仓库。heyrui是dockerhub的账号,m1808是仓库名称。
# commit -m "备注" -a "作者" dockerhub用户/镜像名:tag
# docker commit -m "ubuntu1804 and rk1808 env" -a "hyr" ubuntu1804 heyrui/m1808:v1
docker commit -m "ubuntu1804 and rk1808 env" -a "hyr" m1808 heyrui/m1808:v1.0.2
docker push heyrui/m1808:v1
# login
docker login
新建容器
docker run --hostname=m1808 -v /e/5dockerdata/m1808:/home/work -it --name m1808 -p 50021:21 -p 50022:22 heyrui/m1808:v1 /bin/bash
启动容器
docker start -it heyrui/m1808:v1 /bin/bash
新建终端进入容器
使用该命令时,容器已经启动了。
# docker exec -it [容器名]/[容器ID] /bin/bash
docker exec -it m1808 /bin/bash
保存镜像
使用 docker save 命令根据 ID 将镜像保存成一个文件。
docker save f299f501774c > docker_rv1126.tar
载入镜像
使用 docker load 命令则可将这个镜像文件载入进来。
docker load < hangge_server.tar
容器中安装编译工具链
拷贝m1808-sdk-v1.6.0-ga_2021.07.16.tar.gz到E:\5dockerdata\m1808\
# 容器进入/home/work目录;工具链解压到根目录下
tar -xf m1808-sdk-v1.6.0-ga_2021.07.16.tar.gz -C /
# 当前终端使用
# 添加到用户配置文件~/.bashrc,永久使用
export PATH=/opt/zlg/m1808-sdk-v1.6.0-ga/host/bin:$PATH
# 查看工具链版本信息
aarch64-linux-gnu-gcc -v
SSH远程登录容器
# 允许root登陆
# 找到并用#注释掉这行:PermitRootLogin prohibit-password 新建一行 添加:PermitRootLogin yes
vim /etc/ssh/sshd_config
#重启服务
/etc/init.d/ssh restart
service ssh restart
#设置root密码
passwd root