Docker 安装 Ubuntu(可以创建docker编译环境)

本文介绍如何使用Docker搭建Ubuntu编译环境,包括拉取镜像、运行容器、安装gcc并进行简单编译操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu 是基于 Debian 的 Linux 操作系统。

1、查看可用的 Ubuntu 版本

访问 Ubuntu 镜像库地址: Docker Hub

可以通过 Sort by 查看其他版本的 Ubuntu。默认是最新版本 ubuntu:latest 。

你也可以在下拉列表中找到其他你想要的版本:

2、拉取最新版的 Ubuntu 镜像

$ docker pull ubuntu

或者:

$ docker pull ubuntu:latest

3、查看本地镜像

$ docker images

在上图中可以看到我们已经安装了最新版本的 ubuntu。

4、运行容器,并且可以通过 exec 命令进入 ubuntu 容器

$ docker run -itd --name ubuntu-test ubuntu

5、安装成功

最后我们可以通过 docker ps 命令查看容器的运行信息:

6.使用Ubuntu镜像制作编译环境(这里用x86,ARM一样)

在 ~/mack/myapp 目录下创建一个 helloworld.c 文件,代码如下:

#include <stdio.h>

void main()
{

    printf( "hello world!");
    return ;
}

后台运行一个容器 sudo docker run -itd -v $PWD/myapp:/tmp -w /tmp ubuntu

yk@ubuntu:~/mack/myapp$ sudo docker run -itd -v $PWD:/tmp -w /tmp ubuntu
9e8da4163819cce3b67d8b1874bea8d667666199ccd572f5ff3f0231910afad1
yk@ubuntu:~/mack/myapp$

命令说明:

-v $PWD/myapp:/tmp: 将主机中当前目录下的 myapp 挂载到容器的 /tmp。

-w /tmp 指定容器的 /tmp 目录为工作目录。

进入容器:

(1)先sudo docker ps 查看当前运行的docker的CONTAINER ID

yk@ubuntu:~/mack/myapp$ sudo docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS     PORTS     NAMES
9e8da4163819   ubuntu           "bash"        3 minutes ago    Up 3 minutes              kind_sanderson

(2)登陆容器:

yk@ubuntu:~/mack/myapp$ sudo docker exec -it 9e8da4163819 /bin/bash
root@9e8da4163819:/tmp# ls -al
drwxrwxr-x 2 1000 1000 4096 Jan 10 09:27 .
drwxr-xr-x 1 root root 4096 Jan 10 09:28 ..
-rw-rw-r-- 1 1000 1000   73 Jan 10 09:27 test.c
root@9e8da4163819:/tmp# 

在登陆到容器之后 ls -al可以看到在/tmp下有在宿主机上创建的test.c文件

(3)在容器上安装gcc编译器,并编译test.c

apt-get update

apt-get install gcc

安装完成在docker上编译:

gcc -o test test.c

就可以完成docker环境下得编译

### 如何在Docker安装配置Ubuntu和ROS #### 安装Docker 为了能够在环境中顺利运行容器化应用,需先确保主机已正确安装并启动 Docker。对于大多数Linux发行版而言,官方文档提供了详细的安装指南[^2]。 #### 创建自定义Dockerfile用于构建镜像 创建一个新的目录作为项目根目录,在其中新建文件 `Dockerfile` 并编辑其内容如下: ```dockerfile FROM ubuntu:20.04 ENV DEBIAN_FRONTEND=noninteractive \ LANG=C.UTF-8 LC_ALL=C.UTF-8 \ ROS_DISTRO=noetic RUN apt-get update && apt-get install -y --no-install-recommends \ software-properties-common \ lsb-release \ gnupg2 \ curl \ wget \ nano \ git \ build-essential \ cmake \ python3-rosdep \ python3-vcstool \ locales \ && rm -rf /var/lib/apt/lists/* # 设置locale RUN echo "en_US.UTF-8 UTF-8" > /etc/locale.gen && locale-gen # 初始化 rosdep RUN rosdep init && rosdep update # 安装ROS Noetic Desktop Full RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list' \ && curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - \ && apt-get update \ && apt-get install -y ros-noetic-desktop-full \ && rm -rf /var/lib/apt/lists/* WORKDIR /root/ws CMD ["bash"] ``` 此脚本基于 Ubuntu 20.04 LTS 版本,并集成了 ROS Noetic 的桌面全功能版本以及其他一些常用的工具包[^1]。 #### 构建与管理Docker镜像 通过命令行进入包含上述 `Dockerfile` 文件所在的文件夹路径下执行以下指令来编译新的镜像: ```shell $ docker build . -t my_ros_noetic_env ``` 这将会读取当前工作区内的 `Dockerfile` 来准备所需的环境设置。 #### 启动交互式的容器会话 一旦成功建立了镜像,则可以利用下面这条语句开启一个具有持久存储特性的新实例来进行实验操作: ```shell $ docker run -it --rm --name=my_awesome_project -v "$PWD":/root/ws my_ros_noetic_env bash ``` 该命令允许用户直接访问到之前指定的工作空间 `/root/ws` ,并且任何修改都会被保存至宿主机对应的挂载点上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值