使用Docker构建可视化C++开发环境

使用Docker构建可视化C++开发环境,第1张

1 需求说明
  •  C++开发环境:gcc/g++
  • 可视化开发工具IDE
  •  应用于课程实验,开发环境统一,且轻量级
2 从0开始使用Docker构建带桌面开发环境的Ubuntu 2.1 镜像搜索 1 搜索镜像,关键词:ubuntu-desktop
docker search ubuntu-desktop

结果如下:

 yemuc@LAPTOP-FIBSOFB0 ~ ❯❯❯ docker search ubuntu-desktop
NAME                                          DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
dorowu/ubuntu-desktop-lxde-vnc                Docker image to provide HTML5 VNC interface …   619                  [OK]
                                                                       0
  • 安装:dorowu/ubuntu-desktop-lxde-vnc

2.2 拉取镜像

命令如下:

docker pull dorowu/ubuntu-desktop-lxde-vnc 
2.3 容器运行
  • 命令:

docker run -d --name ubuntu-desktop-lxde-vnc -p 6080:80 -p 5900:5900 -e VNC_PASSWORD=abcd@1234 -v d:/Docker/ubuntu-vnc:/www dorowu/ubuntu-desktop-lxde-vnc
  • 参数说明:

    • -d 返回容器ID

    • --name 容器别名

    • -p 将宿主机和容器的端口进行映射

      • 格式:宿主机端口:容器端口

      • 6080:宿主机在浏览器输入localhost:6080,则打开一个web版的vnc,在浏览器访问桌面环境

      • 5900:可以使用VNC客户端连接

      • 请确保宿主机的端口是可用的

    • -e VNC_PASSWORD=abcd@1234

      • 浏览器打开vnc,需要输入密码abcd@1234

    • -v /dev/shm:/www

      • 将宿主机的文件夹和容器文件夹进行映射,则宿主机和容器可以通过共享文件夹传递数据

      • 格式:宿主机文件夹 : 端口内文件夹

      • 若文件夹不存在,则会新建

      • 对于Windows环境,则参考 -v d:/Docker/ubuntu-vnc:/www

        • 将D盘文件夹映射到容器 /www 文件夹

2.4 运行 (1) 打开浏览器,输入:localhost:6080 (2)   通过VNC客户端访问:localhost:5900 2.5 配置开发环境 (1)编译环境:
sudo apt-get update
sudo apt-get install gcc
sudo apt-get install g++
(2)开发工具
sudo apt-get install codeblocks codeblocks-dev
终端输入:codeblocks 启动程序
3 通过Dockerfile构建镜像 3.1 Dockerfile
# 基础镜像
FROM dorowu/ubuntu-desktop-lxde-vnc

WORKDIR /root


# 拷贝本地文件到镜像
ADD xxx /root/Desktop
ADD xx /root/Desktop

# 更换源
ADD sources.list /etc/apt

# 安装c++工作环境  -y 强制yes
RUN  sudo apt-get update && sudo apt-get -y install gcc \
    && sudo apt-get -y install g++ \
    && sudo apt-get  -y install codeblocks codeblocks-dev
  • ADD的文件,请放在Dockerfile 同级目录 
3.2 ubuntu 20.04国内源
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
3.3 构建镜像

docker build -t 镜像名称:标签名 .

  • 镜像名称和标签名自定义

  • 最后一个'.'请不要忽略

3.4 容器运行

同上,使用时请使用-p 暴露端口。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/563054.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-02
下一篇 2022-04-02

发表评论

登录后才能评论

评论列表(0条)

保存