成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用容器快速配置C/C++開發調試環境

開發 前端
因為容器的出現,讓我們的環境搭建變得非常容易,而且我們再也不用擔心因為某種原因導致環境破壞了,如果容器受損了,我們只需要重新啟動一個新的容器即可。

對于很多新人來說,學習一門編程語言最難的部分可能就是環境的搭建,因為不同操作系統還有網絡的原因,很多時候一個環境搭建就勸退了很多新人,但是隨著容器化的出現,現在這種問題完全不存在了,因為環境的搭建可以通過容器分分鐘完成,我們需要做的就是把配置文件復制過來,然后運行 docker 容器即可。

Docker 鏡像的優點

過去我們開發應用都是在本地搭建各種環境,然后進行開發,最后部署到到服務器上,但是因為環境的不同,往往導致出現各種問題,并且調試起來也是相當的麻煩。

現在我們可以通過創建一個帶有預安裝依賴項和工具(如編譯器、調試器等)的 docker 鏡像,然后在鏡像容器中進行開發調試,最后直接部署構建容器即可。

這個鏡像將成為開發人員本地的服務器和 CI/CD 服務器,也就是說,將不會出現“它在我的機器上工作,但在 CI 上失敗!”的問題。

圖片

由于構建在容器內運行,它不受任何單個開發人員本地環境的環境變量、工具或設置的影響,這意味著環境變得孤立。任何開發人員使用的環境都是一樣的。

理想情況下,Docker 鏡像會被正確地標記一些有意義的版本名稱;它允許用戶通過從注冊表中提取正確的映像來在環境之間跳轉。即使鏡像已經從注冊中心移除,但是因為 docker 鏡像是從 Dockerfiles 建立的,因此,我們總是可以從舊的 Dockerfile 重新構建映像。此外,因為我們隨時通過 git 進行版本管理 Dockerfile,所以對于環境的構建永遠都會非常的輕松。

Dockerfile 文件

c/c++的鏡像配置非常簡單,我們只需要從基礎鏡像 ubuntu 來進行配置即可,通過 apt-get install 安裝 c 開發環境即可。如果需要一些數據庫文件,我們可以添加到 dockerfile 文件中,當然,我們也可以通過 docker-compose 進行編排,添加一個 redis 的容器,然后網絡關聯彼此。

此外,我們還可以通過 gcc 這個鏡像直接進行構建,可以不需要在安裝 c 的開發環境。

當然,我們可以將編譯構建命令寫入到 Dockerfile 文件中,這樣我們直接運行容器就可以編譯生成可執行文件。

下面是具體的 Dockerfile 文件內容。

# Get the base Ubuntu image from Docker Hub
FROM ubuntu:latest
# Update apps on the base image
RUN apt-get -y update && apt-get install -y
# Install the Clang compiler
RUN apt-get -y install clang vim
# Specify the working directory
WORKDIR /usr/src/dockertest1
# Get the GCC preinstalled image from Docker Hub
FROM gcc:4.9
# Specify the working directory
WORKDIR /usr/src/dockertest1
docker build -t mygcc:local .
docker run -it -d -v /home/user/project:/usr/src/dockertest1 mygcc:local
/bin/bash

安裝調試工具

目前的鏡像只是包含編譯工具,但是并沒有調試工具,我們需要安裝 gdb 工具來進行代碼的調試,因此我們需要修改 Dockerfile 來引入 gdb 工具。

圖片

# Get the base Ubuntu image from Docker Hub
FROM ubuntu:latest
# Update apps on the base image
RUN apt-get -y update && apt-get install -y
# Install the Clang compiler
RUN apt-get -y install clang vim gdb
# Specify the working directory
WORKDIR /usr/src/dockertest1

總結

因為容器的出現,讓我們的環境搭建變得非常容易,而且我們再也不用擔心因為某種原因導致環境破壞了,如果容器受損了,我們只需要重新啟動一個新的容器即可。

通過文件的映射,我們可以在本地編輯直接編輯文件,然后映射到容器中,當然我們也可以直接在容器中修改,但是最好添加一個映射,這樣,當我們的容器銷毀的時候,我們的代碼源文件還在本地保存。

鏡像文件除了可以從官網進行下載,也可以自己去定義,特別是當你需要一個特有的環境的時候,你就可以選擇構建自己的本地鏡像。

此外,我們在 Dockerfile 中是可以執行命令的,比如一些依賴的安裝,都可以在 Dockerfile 中指定運行安裝。

另外,構建鏡像只需要第一次從網絡下載,之后就會運行本地緩存,并且容器運行起來非常的快,只需要幾秒鐘即可。

責任編輯:武曉燕 來源: 程序那些事兒
相關推薦

2024-01-24 13:45:21

Python開發操作系統

2011-01-14 12:53:45

Linux PPCEclipseC

2010-01-27 14:00:50

CC++運行環境

2010-01-15 09:58:38

C++ Builder

2010-01-18 15:19:41

Visual C++開

2010-01-14 16:54:02

C++開發環境

2010-08-10 14:17:32

思科路由器Assistant配置

2021-06-02 08:13:28

VscodeVisual stduC++

2009-06-05 14:54:09

EclipseC++環境搭建

2010-01-20 11:02:42

C++開發環境

2021-04-11 10:48:37

UbuntuC++Linux

2024-02-05 09:43:00

編程工具

2011-01-14 12:44:32

Linux PPCEclipseC

2010-01-26 15:51:06

C++變量

2014-04-15 11:27:50

C++開發者Objective-C核心語法

2010-11-24 10:35:40

Objective-C

2010-01-28 10:33:10

C++開發程序

2010-01-12 18:00:30

Visual C++

2009-11-12 10:05:09

Visual C++

2011-05-18 18:05:47

C#C++
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩国产免费观看 | 国产欧美一区二区三区久久手机版 | 亚洲精品久久久久中文字幕欢迎你 | 日日拍夜夜 | 搞黄视频免费看 | 国产黄色在线 | 久久久久精 | 亚洲国产一区二区三区, | 国产极品粉嫩美女呻吟在线看人 | 欧美性猛交一区二区三区精品 | 欧美精品久久久 | 国产伦精品一区二区三区精品视频 | 伊人网综合 | 精品婷婷| 欧美成视频 | 中文字幕伊人 | 91精品在线播放 | 久久国产精品无码网站 | 久久久亚洲一区 | 久草在线影 | 欧美激情久久久 | 免费观看成人鲁鲁鲁鲁鲁视频 | 久久最新精品 | 久久国产视频网站 | 天天综合网7799精品 | 亚洲精品视频免费观看 | 成人毛片一区二区三区 | 国产精品爱久久久久久久 | 黄色一级片视频 | 精品一区欧美 | 免费一区二区三区 | 国产精品国产a级 | 亚洲精品在线国产 | 久久亚洲国产 | 日韩欧美网 | 黄色毛片免费视频 | 我要看黄色录像一级片 | 日韩视频在线免费观看 | 久久精品国产免费 | 日韩视频在线观看一区二区 | 一级毛片在线视频 |