偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

使用容器快速配置C/C++開發(fā)調(diào)試環(huán)境

開發(fā) 前端
因為容器的出現(xiàn),讓我們的環(huán)境搭建變得非常容易,而且我們再也不用擔心因為某種原因?qū)е颅h(huán)境破壞了,如果容器受損了,我們只需要重新啟動一個新的容器即可。

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

Docker 鏡像的優(yōu)點

過去我們開發(fā)應用都是在本地搭建各種環(huán)境,然后進行開發(fā),最后部署到到服務器上,但是因為環(huán)境的不同,往往導致出現(xiàn)各種問題,并且調(diào)試起來也是相當?shù)穆闊?/p>

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

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

圖片

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

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

Dockerfile 文件

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

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

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

下面是具體的 Dockerfile 文件內(nèi)容。

# 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

安裝調(diào)試工具

目前的鏡像只是包含編譯工具,但是并沒有調(diào)試工具,我們需要安裝 gdb 工具來進行代碼的調(diào)試,因此我們需要修改 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

總結(jié)

因為容器的出現(xiàn),讓我們的環(huán)境搭建變得非常容易,而且我們再也不用擔心因為某種原因?qū)е颅h(huán)境破壞了,如果容器受損了,我們只需要重新啟動一個新的容器即可。

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

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

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

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

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

2024-01-24 13:45:21

Python開發(fā)操作系統(tǒng)

2011-01-14 12:53:45

Linux PPCEclipseC

2010-01-27 14:00:50

CC++運行環(huán)境

2010-01-15 09:58:38

C++ Builder

2010-01-18 15:19:41

Visual C++開

2010-01-14 16:54:02

C++開發(fā)環(huán)境

2010-08-10 14:17:32

思科路由器Assistant配置

2021-06-02 08:13:28

VscodeVisual stduC++

2009-06-05 14:54:09

EclipseC++環(huán)境搭建

2010-01-20 11:02:42

C++開發(fā)環(huán)境

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++開發(fā)者Objective-C核心語法

2010-11-24 10:35:40

Objective-C

2010-01-28 10:33:10

C++開發(fā)程序

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技術棧公眾號