docker创建ubuntu编译安卓源码
2023-3-24 09:14:42 Author: 哆啦安全(查看原文) 阅读量:16 收藏

前言

内网上服务器一般是ubuntu,里面运行的程序很多,如果想研究下android源码,那必须是一个干净的ubuntu系统了,那今天我们介绍下用docker创建一个干净的ubuntu;

一、docker简单介绍

1、什么是docker;

docker提供的就是一种容器化搬运东西(我们的软件、程序)的过程。docker自己本来是运行在操作系统上一个程序软件,它会提供一个容器环境,使我们的程序独立地运行在容器中;

 2、docker的基本命令

2.1、docker images 查看本机的镜像;

  •   REPOSITORY:仓库,也是镜像名称;

  •   TAG:标签,也是版本号,镜像会有不同的版本号;

  •   IMAGE ID:镜像id,根据这个id我们可以区分不同的镜像,也可以对某个镜像进行操作;

  •   CREATED:创建时间;

  •   SIZE:镜像的大小;

2.2、docker rmi 删除本地的镜像,加上一个参数-f表示强制删除,因为有时候若有运行的相关容器的时候是不能删除的,如:docker rmi -f nginx 强行停止容器并删除镜像,不管是否有占用情况;

2.3、docker search 根据镜像名称搜索远程仓库中的镜像,可以看一下查到所有相关名称的镜像,可以选择我们要拉取哪个镜像;

2.4、docker pull <镜像名称>:[标签名称]:拉取镜像,默认不写标签名称拉取最新的镜像;

2.5、docker push 推送镜像,当我们制作了我们自己的镜像时,我们就可以推送到我们自己的docker hub上去;

二、docker配置ubuntu

所以配置的ubuntu docker为主力环境,日常开启用ssh连接。

1、查询ubuntu系统

sudo docker search ubuntu

在https://hub.docker.com/网站上搜索ubuntu 找自己要下的版本

比如:sudo docker pull ubuntu:18.04  ;sudo docker pull ubuntu:20.04;sudo docker pull ubuntu:23.04;      

2、拉取系统和查看镜像

sudo docker pull ubuntu:23.04;

3、创建容器

docker run -itd --restart=always --name rk3399-20 --privileged -v /home/android/rk3399:/rk3399 ubuntu:20.04 bash

  • -d:启动一个容器,后台运行,不会占用我们当前的控制台,一般都要加上,之前我们启动nginx没有指定这个参数,就会占用当前控制台,会一直挂起,有了这个命令就不会占用了;

  • -i:以交互模式运行容器,通常会和-t一起来使用(-it);

  • -t:为容器也创建一个命令行窗口,是容器内容的命令行窗口,比如我们拉取一个ubuntu的镜像,我们想要在这个操作系统镜像里边执行一些命令,那就需要这个参数了;

  • -P:这个是大写的P,指定宿主机的随机端口映射到容器内部的端口;

  • -p:这个是小写的p,指定某个具体端口映射到容器内部端口,比如前边我们用-p 8080:80,就是让宿主机的8080端口映射到容器内的80端口,这样我们就可以在外部用8080端口访问我们容器内部的nginx了(默认容器必须有一个外部的映射端口,不然访问不了);

  • -v:指定宿主机与容器内部的目录映射,就是之前的数据卷所需要的参数,好实现数据的持久化和同步;

  • –restart=always :开机启动,失败也会一直重启;

  • --privileged   容器内的root拥有真正的root权限;

4、进入到容器中

docker exec -it rk3399-20 bash

此时就是一个干净的系统,想部署服务端或者装android源码编译环境都可以


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NzUzNzk1Mw==&mid=2247495394&idx=1&sn=e4757d92a657f1bdabb707e426068fbf&chksm=ceb8abacf9cf22ba49894529bd942236bee5a0bcf45552637aad5b34266760ef9f3dbadfc1ca#rd
如有侵权请联系:admin#unsafe.sh