中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

做房地產(chǎn)網(wǎng)站廣告銷售seo合作代理

做房地產(chǎn)網(wǎng)站廣告銷售,seo合作代理,招生推廣渠道有哪些呢,帝國做雙語網(wǎng)站常常,我會幻想著擁有一個(gè)隨時(shí)可以攜帶、隨時(shí)可以使用的開發(fā)環(huán)境,那該是多么美好的事情。 在工作中,編譯環(huán)境的復(fù)雜性常常讓我頭疼不已。稍有不慎,刪除了一些關(guān)鍵文件,整個(gè)編譯鏈就會瞬間崩潰。更糟糕的是,…

常常,我會幻想著擁有一個(gè)隨時(shí)可以攜帶、隨時(shí)可以使用的開發(fā)環(huán)境,那該是多么美好的事情。

在工作中,編譯環(huán)境的復(fù)雜性常常讓我頭疼不已。稍有不慎,刪除了一些關(guān)鍵文件,整個(gè)編譯鏈就會瞬間崩潰。更糟糕的是,當(dāng)我花費(fèi)大量時(shí)間和精力搭建好的環(huán)境,不得不在不同的機(jī)器上重復(fù)這份工作時(shí),心中的焦慮更是無以言表。尤其是當(dāng)代碼需要交給同事處理,如果能將整個(gè)環(huán)境如同復(fù)制粘貼一般簡單傳遞,那將是多么美妙的事。

當(dāng)然,虛擬機(jī)的確可以實(shí)現(xiàn)這種“復(fù)制粘貼”的效果,但從版本管理、鏡像托管和維護(hù)的角度來看,其成本卻頗高。這樣的方案,并不是我心目中理想的選擇。于是,我將目光轉(zhuǎn)向了Docker。

一、需求整理

我理想的C/C++編譯環(huán)境,至少需要具備以下環(huán)境或工具:

  1. ?Conan?: 一個(gè)我常用且比較流行的的C/C++包管理工具
  2. ?CMake?: 最流行的C/C++構(gòu)建系統(tǒng)
  3. 基礎(chǔ)編譯環(huán)境:gcc?,make?,gdb?等
  4. ARM編譯工具鏈:gcc-arm-none-eabi?, gcc-arm-linux-gnueabihf?, gcc-aarch64-linux-gnu?等
  5. 基礎(chǔ)開發(fā)庫:比如libssl-dev?, libgl-dev?等,這些主要是方便其他上層庫的編譯

二、Docker簡介

?image?

Docker 是一個(gè)容器引擎。對于沒有接觸過 Docker 的開發(fā)者來說可能比較陌生。可以將 Docker 大致理解為一個(gè)輕量級虛擬機(jī)框架,但實(shí)際上它比虛擬機(jī)更高效。Docker 具備以下幾點(diǎn)特性:

  1. 足夠快:Docker 容器啟動(dòng)速度非常快,通常只需要幾秒鐘。這是因?yàn)槿萜鞴蚕碇鳈C(jī)操作系統(tǒng)的內(nèi)核,而不像虛擬機(jī)需要啟動(dòng)一個(gè)完整的操作系統(tǒng)。這種高效性使得開發(fā)和測試過程更加順暢。
  2. 管理方便:Docker 提供了豐富的命令行工具和 API,使得容器的創(chuàng)建、啟動(dòng)、停止和銷毀變得非常簡單。同時(shí),Docker Compose 允許開發(fā)者使用一個(gè)簡單的 YAML 文件來定義和管理多容器應(yīng)用,使得部署和管理復(fù)雜應(yīng)用變得更加方便。
  3. 生態(tài)好:Docker 擁有龐大且活躍的社區(qū),提供了豐富的鏡像資源。通過 Docker Hub,開發(fā)者可以方便地下載和分享容器鏡像。Docker 還支持與各種 CI/CD 工具、云平臺和編排工具(如 Kubernetes)的集成,形成了一個(gè)完善的生態(tài)系統(tǒng)。
  4. 一致性:Docker 確保應(yīng)用程序在開發(fā)、測試和生產(chǎn)環(huán)境中運(yùn)行的一致性。這意味著開發(fā)者可以在本地開發(fā)和測試應(yīng)用程序,然后將相同的容器部署到生產(chǎn)環(huán)境中,而不必?fù)?dān)心環(huán)境差異帶來的問題。
  5. 資源高效:與傳統(tǒng)的虛擬機(jī)相比,Docker 容器更加輕量級,消耗的資源更少。容器共享主機(jī)操作系統(tǒng)的內(nèi)核,避免了虛擬機(jī)需要為每個(gè)實(shí)例分配完整操作系統(tǒng)資源的情況。
  6. 安全隔離:Docker 使用內(nèi)核命名空間(namespace)和控制組(cgroup)技術(shù)提供進(jìn)程和資源的隔離。這種隔離確保了每個(gè)容器之間的安全性,避免了相互干擾。
  7. 可移植性:Docker 容器可以在任何支持 Docker 的系統(tǒng)上運(yùn)行,無論是本地開發(fā)環(huán)境、云服務(wù)還是數(shù)據(jù)中心。這種可移植性使得應(yīng)用程序能夠在不同環(huán)境之間輕松遷移。

這些特性使得 Docker 成為現(xiàn)代軟件開發(fā)和部署過程中不可或缺的工具,極大地提高了應(yīng)用的可移植性和開發(fā)效率。在Docker中包含三個(gè)基本概念,分別是:

  • 鏡像(Image) :Docker 鏡像(Image),就相當(dāng)于是一個(gè) root 文件系統(tǒng)。比如官方鏡像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系統(tǒng)的 root 文件系統(tǒng)。
  • 容器(Container) :鏡像(Image)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計(jì)中的類和實(shí)例一樣,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時(shí)的實(shí)體。容器可以被創(chuàng)建、啟動(dòng)、停止、刪除、暫停等。
  • 倉庫(Repository) :倉庫可看成一個(gè)代碼控制中心,用來保存鏡像。

Docker 的安裝方法不在這里贅述。目前 Docker 發(fā)布了 Docker Desktop 軟件,這款桌面軟件允許用戶通過 GUI 來管理 Docker 鏡像和容器。對新手來說會比較友好,至于是使用命令行還是 GUI 方式,可根據(jù)個(gè)人喜好進(jìn)行選擇。

三、DockerFile

FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
COPY ./sources.list /etc/apt/sources.list# Install packages
RUN set -eux \&& apt-get update \&& apt-get -yq upgrade \&& apt-get -yq install \aptitude apt-rdepends bash build-essential ccache clang clang-tidy cppcheck curl doxygen diffstat gawk gdb git gnupg gperf iputils-ping \linux-tools-generic nano nasm ninja-build openssh-server openssl pkg-config python3 python-is-python3 spawn-fcgi net-tools iproute2 \sudo tini unzip valgrind wget zip texinfo gcc-multilib chrpath socat cpio xz-utils debianutils \patch perl tar rsync bc xterm whois software-properties-common apt-transport-https ca-certificates\dh-autoreconf apt-transport-https g++ graphviz xdot mesa-utils \&& exit 0# Install cmake
RUN set -eux \&& wget https://github.com/Kitware/CMake/releases/download/v3.28.5/cmake-3.28.5-linux-x86_64.sh -q -O /tmp/cmake-install.sh \&& chmod u+x /tmp/cmake-install.sh \&& mkdir /opt/cmake-3.28.5 \&& /tmp/cmake-install.sh --skip-license --prefix=/opt/cmake-3.28.5 \&& rm /tmp/cmake-install.sh \&& ln -s /opt/cmake-3.28.5/bin/* /usr/local/bin \&& cmake --version \&& exit 0# Install arm compiler
RUN set -eux \&& apt-get update \&& apt-get -yq install \gcc-arm-none-eabi \g++-arm-linux-gnueabi gcc-arm-linux-gnueabi \g++-arm-linux-gnueabihf gcc-arm-linux-gnueabihf \g++-aarch64-linux-gnu gcc-aarch64-linux-gnu \&& exit 0# Install python pip
RUN set -eux \&& python3 --version \&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \&& python3 get-pip.py \&& rm get-pip.py \&& python3 -m pip install -U pip \&& pip3 --version \&& pip3 install --upgrade pip setuptools wheel \&& pip3 --version \&& exit 0# Install python packages
RUN set -eux \&& pip3 --version \&& pip3 install --upgrade pip setuptools wheel \&& pip3 --version \&& pip3 install --upgrade autoenv autopep8 cmake-format clang-format conan meson \&& pip3 install --upgrade cppclean flawfinder lizard pygments pybind11 GitPython pexpect subunit Jinja2 pylint CLinters \&& exit 0# Install libraries
RUN set -eux \&& apt-get install -yq \libgl-dev libgl1-mesa-dev \libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev \libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev \libxss-dev libxt-dev libxtst-dev libxv-dev libxxf86vm-dev libxcb-glx0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev \libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev \libxcb-xinerama0-dev libxcb-dri3-dev uuid-dev libxcb-cursor-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev \libxcb-composite0-dev libxcb-ewmh-dev libxcb-res0-dev libxcb-util-dev libxcb-util0-dev\&& apt-get -yq autoremove \&& apt-get -yq autoclean  \&& apt-get -yq clean  \&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \&& exit 0# Setup ssh
RUN set -eux \&& mkdir -p /var/run/sshd \&& mkdir -p /root/.ssh \&& sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config \&& sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config \&& echo 'root:root' | chpasswd \&& exit 0ENTRYPOINT ["/usr/bin/tini","--"]
CMD ["/usr/sbin/sshd","-D","-e"]

如您所見,我已經(jīng)寫完了一份DockerFile。其中包含了一些基礎(chǔ)工具,如網(wǎng)絡(luò)工具、CMake、Python、ARM交叉編譯工具鏈等。甚至還有一些開發(fā)用的基礎(chǔ)庫,同時(shí)也配置好了SSH。點(diǎn)擊下方圖片查看最新完整代碼👇👇👇(歡迎START!!!🤩)

3.1 基礎(chǔ)鏡像和環(huán)境變量設(shè)置

FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
COPY ./sources.list /etc/apt/sources.list
  • FROM ubuntu:22.04:指定基礎(chǔ)鏡像為Ubuntu 22.04。
  • ENV DEBIAN_FRONTEND=noninteractive:設(shè)置環(huán)境變量,使apt-get在非交互模式下運(yùn)行,避免提示用戶輸入。
  • COPY ./sources.list /etc/apt/sources.list:將本地的sources.list文件復(fù)制到容器中的/etc/apt/sources.list,這里使用了清華源,如果不要請將此條代碼注釋掉。

3.2 安裝基礎(chǔ)軟件包

RUN set -eux \&& apt-get update \&& apt-get -yq upgrade \&& apt-get -yq install \aptitude apt-rdepends bash build-essential ccache clang clang-tidy cppcheck curl doxygen diffstat gawk gdb git gnupg gperf iputils-ping \linux-tools-generic nano nasm ninja-build openssh-server openssl pkg-config python3 python-is-python3 spawn-fcgi net-tools iproute2 \sudo tini unzip valgrind wget zip texinfo gcc-multilib chrpath socat cpio xz-utils debianutils \patch perl tar rsync bc xterm whois software-properties-common apt-transport-https ca-certificates\dh-autoreconf apt-transport-https g++ graphviz xdot mesa-utils \&& exit 0
  • set -eux:啟用嚴(yán)格模式,打印所有命令,并在出現(xiàn)錯(cuò)誤時(shí)停止腳本執(zhí)行。
  • apt-get update:更新包列表。
  • apt-get -yq upgrade:升級所有已安裝的包。
  • apt-get -yq install … :安裝列出的各種軟件包,涵蓋編譯工具、開發(fā)工具、網(wǎng)絡(luò)工具等。

3.3 安裝CMake

RUN set -eux \&& wget https://github.com/Kitware/CMake/releases/download/v3.28.5/cmake-3.28.5-linux-x86_64.sh -q -O /tmp/cmake-install.sh \&& chmod u+x /tmp/cmake-install.sh \&& mkdir /opt/cmake-3.28.5 \&& /tmp/cmake-install.sh --skip-license --prefix=/opt/cmake-3.28.5 \&& rm /tmp/cmake-install.sh \&& ln -s /opt/cmake-3.28.5/bin/* /usr/local/bin \&& cmake --version \&& exit 0
  • wget … -O /tmp/cmake-install.sh:下載CMake安裝腳本到/tmp目錄。
  • chmod u+x /tmp/cmake-install.sh:給予安裝腳本執(zhí)行權(quán)限。
  • mkdir /opt/cmake-3.28.5:創(chuàng)建安裝目錄。
  • /tmp/cmake-install.sh --skip-license --prefix=/opt/cmake-3.28.5:執(zhí)行安裝腳本,跳過許可證,并安裝到指定目錄。
  • rm /tmp/cmake-install.sh:刪除安裝腳本。
  • ln -s /opt/cmake-3.28.5/bin/ /usr/local/bin*:創(chuàng)建符號鏈接,使CMake命令可用。
  • cmake --version:驗(yàn)證CMake安裝。

3.4 安裝ARM編譯器

RUN set -eux \&& apt-get update \&& apt-get -yq install \gcc-arm-none-eabi \g++-arm-linux-gnueabi gcc-arm-linux-gnueabi \g++-arm-linux-gnueabihf gcc-arm-linux-gnueabihf \g++-aarch64-linux-gnu gcc-aarch64-linux-gnu \&& exit 0
  • apt-get update:更新包列表。
  • apt-get -yq install … :安裝ARM編譯器,包括不同架構(gòu)的編譯器,如ARM none-eabi?、ARM Linux-gnueabi?、ARM Linux-gnueabihf?、AArch64 Linux-gnu?。

3.5 安裝Python的pip工具

RUN set -eux \&& python3 --version \&& curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \&& python3 get-pip.py \&& rm get-pip.py \&& python3 -m pip install -U pip \&& pip3 --version \&& pip3 install --upgrade pip setuptools wheel \&& pip3 --version \&& exit 0
  • python3 --version:檢查Python3版本。
  • curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py:下載pip安裝腳本。
  • python3 get-pip.py:安裝pip。
  • rm get-pip.py:刪除安裝腳本。
  • python3 -m pip install -U pip:升級pip。
  • pip3 --version:檢查pip版本。
  • pip3 install --upgrade pip setuptools wheel:安裝和升級常用的Python包。

3.6 安裝Python包

RUN set -eux \&& pip3 --version \&& pip3 install --upgrade pip setuptools wheel \&& pip3 --version \&& pip3 install --upgrade autoenv autopep8 cmake-format clang-format conan meson \&& pip3 install --upgrade cppclean flawfinder lizard pygments pybind11 GitPython pexpect subunit Jinja2 pylint CLinters \&& exit 0
  • pip3 --version:檢查pip版本。
  • pip3 install --upgrade pip setuptools wheel:確保pip及其依賴包是最新的。
  • pip3 install --upgrade autoenv autopep8 cmake-format clang-format conan meson:安裝開發(fā)工具包。
  • pip3 install --upgrade cppclean flawfinder lizard pygments pybind11 GitPython pexpect subunit Jinja2 pylint CLinters:安裝其他開發(fā)工具包。

3.7 安裝其他開發(fā)庫文件

RUN set -eux \&& apt-get install -yq \libgl-dev libgl1-mesa-dev \libx11-xcb-dev libfontenc-dev libice-dev libsm-dev libxaw7-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev \libxfixes-dev libxi-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-dev libxrender-dev libxres-dev \libxss-dev libxt-dev libxtst-dev libxv-dev libxxf86vm-dev libxcb-glx0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-xkb-dev \libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-sync-dev libxcb-xfixes0-dev \libxcb-xinerama0-dev libxcb-dri3-dev uuid-dev libxcb-cursor-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-present-dev \libxcb-composite0-dev libxcb-ewmh-dev libxcb-res0-dev libxcb-util-dev libxcb-util0-dev\&& apt-get -yq autoremove \&& apt-get -yq autoclean  \&& apt-get -yq clean  \&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \&& exit 0
  • 這些主要是QT的依賴庫,后續(xù)也可以自行增加。

3.8 設(shè)置SSH

RUN \set -eux && \mkdir -p /var/run/sshd && \mkdir -p /root/.ssh && \sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config && \sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config && \echo 'root:root' | chpasswd && \exit 0
  • mkdir -p /var/run/sshd:創(chuàng)建sshd運(yùn)行目錄。
  • mkdir -p /root/.ssh:創(chuàng)建root用戶的SSH目錄。
  • sed -ri ‘s/^#?PermitRootLogin\s+.*/PermitRootLogin yes/’ /etc/ssh/sshd_config:允許root用戶通過SSH登錄。
  • sed -ri ‘s/UsePAM yes/#UsePAM yes/g’ /etc/ssh/sshd_config:禁用PAM。
  • echo ‘root’ | chpasswd:設(shè)置root用戶密碼為’root’。

3.9 入口點(diǎn)和默認(rèn)命令

ENTRYPOINT ["/usr/bin/tini" "--"]
CMD ["/usr/sbin/sshd" "-D" "-e"]
  • ENTRYPOINT ["/usr/bin/tini" "–"] :使用tini作為init進(jìn)程,處理信號和子進(jìn)程。
  • CMD ["/usr/sbin/sshd" "-D" "-e"] :啟動(dòng)sshd服務(wù)并保持前臺運(yùn)行。

四、構(gòu)建鏡像

首先,請將第三部分的代碼復(fù)制將其保存為Dockerfile?文件。如果您需要切換其他APT源(如阿里源、清華源等),請手動(dòng)到官方鏡像站獲取相關(guān)源地址,并將其保存為sources.list?。這里附上Ubuntu22.04清華鏡像源:

# 默認(rèn)注釋了源碼鏡像以提高 apt update 速度,如有需要可自行取消注釋
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse# 以下安全更新軟件源包含了官方源與鏡像站配置,如有需要可自行修改注釋切換
deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse# 預(yù)發(fā)布軟件源,不建議啟用
# deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

注意:請使用http而不要用https.

完成后您的文件夾應(yīng)該為如下布局:

?image
接下來請打開您的命令行程序并進(jìn)入該文件夾,如果您使用的是Windows操作系統(tǒng),推薦使用Powershell. 鍵入以下命令,開始構(gòu)建:

docker buildx build . -t jelin-dev/ubuntu22.04

您可以在控制臺中看到構(gòu)建過程:

[+] Building 218.2s (14/14) FINISHED                                                                     docker:default=> [internal] load build definition from Dockerfile                                                               0.0s=> => transferring dockerfile: 3.77kB                                                                             0.0s=> [internal] load metadata for docker.io/library/ubuntu:22.04                                                    3.5s=> [internal] load .dockerignore                                                                                  0.0s=> => transferring context: 2B                                                                                    0.0s=> [internal] load build context                                                                                  0.0s=> => transferring context: 1.28kB                                                                                0.0s=> [1/9] FROM docker.io/library/ubuntu:22.04@sha256:a6d2b38300ce017add71440577d5b0a90460d0e57fd7aec21dd0d1b0761b  6.9s=> => resolve docker.io/library/ubuntu:22.04@sha256:a6d2b38300ce017add71440577d5b0a90460d0e57fd7aec21dd0d1b0761b  0.0s=> => sha256:2af372c1e2645779643284c7dc38775e3dbbc417b2d784a27c5a9eb784014fb8 424B / 424B                         0.0s=> => sha256:52882761a72a60649edff9a2478835325d084fb640ea32a975e29e12a012025f 2.30kB / 2.30kB                     0.0s=> => sha256:a8b1c5f80c2d2a757adc963e3fe2dad0b4d229f83df3349fbb70e4d12dd48822 29.53MB / 29.53MB                   5.7s=> => sha256:a6d2b38300ce017add71440577d5b0a90460d0e57fd7aec21dd0d1b0761bbfb2 1.13kB / 1.13kB                     0.0s=> => extracting sha256:a8b1c5f80c2d2a757adc963e3fe2dad0b4d229f83df3349fbb70e4d12dd48822                          1.0s=> [2/9] COPY ./sources.list /etc/apt/sources.list                                                                0.1s=> [3/9] RUN     set -eux &&     apt-get update &&     apt-get -yq upgrade &&     apt-get -yq install     aptit  81.2s=> [4/9] RUN set -eux     && wget https://github.com/Kitware/CMake/releases/download/v3.28.5/cmake-3.28.5-linux  13.4s=> [5/9] RUN     set -eux &&     apt-get update &&     apt-get -yq install         gcc-arm-none-eabi         g+  61.0s=> [6/9] RUN     set -eux &&     python3 --version &&     curl https://bootstrap.pypa.io/get-pip.py -o get-pip.p  9.8s=> [7/9] RUN     set -eux &&     pip3 --version &&     pip3 install --upgrade pip setuptools wheel &&     pip3   29.4s=> [8/9] RUN set -eux     && apt-get install -yq         libgl-dev libgl1-mesa-dev         libx11-xcb-dev libfon  5.8s=> [9/9] RUN     set -eux &&     mkdir -p /var/run/sshd &&     mkdir -p /root/.ssh &&     sed -ri 's/^#?PermitRo  0.4s=> exporting to image                                                                                             6.7s=> => exporting layers                                                                                            6.7s=> => writing image sha256:27e12e5d293fc972028bba5e9e488d4ed655ae5d479bd92b4fe1cb0295e6311d                       0.0s=> => naming to docker.io/jelin-dev/ubuntu22.04

構(gòu)建完成后,您可以通過docker images?查看已有鏡像:

REPOSITORY              TAG       IMAGE ID       CREATED              SIZE
jelin-dev/ubuntu22.04   latest    27e12e5d293f   About a minute ago   5.25GB

您可以通過以下命令創(chuàng)建并啟動(dòng)容器:

docker run -itd -p 2201:22 --name test jelin-dev/ubuntu22.04:latest

這樣容器就在后臺運(yùn)行了,您可以通過SSH連接到容器,賬號密碼均為root?

五、使用建議

眾所周知,C/C++足夠底層,以至于其跨平臺特性也僅限于代碼層面,只能通過使用不同的編譯器編譯才能實(shí)現(xiàn)多平臺運(yùn)行。所以它不像C#、Java、Python等編程語言有官方指定的包管理器,甚至連構(gòu)建系統(tǒng)也五花八門。jelin-dev?這個(gè)鏡像挑選了業(yè)界主流的C/C++包管理器和構(gòu)建系統(tǒng),以及配備了我所涉及到需要交叉編譯的工具鏈,如果您有特殊的需要,您可以自行添加相關(guān)環(huán)境,再進(jìn)行構(gòu)建和使用。

Tap1. Conan包管理數(shù)據(jù)持久化

jelin-dev? 鏡像中,我使用了 Conan 作為包管理器。建議您在創(chuàng)建容器時(shí)將 /root/.conan2? 文件夾掛載到本地目錄中。這些數(shù)據(jù)很重要,因?yàn)?Conan 會將已經(jīng)下載和編譯的庫存放在這個(gè)文件夾內(nèi)。如果沒有做持久化,那么每次使用都將需要重新構(gòu)建這些庫。

Tap2. 使用CLion

CLion 是一個(gè)非常好用的 IDE,功能多樣且靈活。它默認(rèn)使用 CMake 進(jìn)行構(gòu)建,并且對 CMake 的支持比其他 IDE 都要強(qiáng)大,配置項(xiàng)目和管理變得非常輕松。除此之外,CLion 還提供了 Conan 插件,可以通過 GUI 方式配置依賴,使用體驗(yàn)非常棒。另外,CLion 對 Docker 的支持也是一大亮點(diǎn)。啟動(dòng)速度極快,幾乎感覺不到延遲,使用起來非常順暢。這些特性讓 CLion 成為開發(fā) C++ 項(xiàng)目的理想選擇。

?


http://www.risenshineclean.com/news/4100.html

相關(guān)文章:

  • 建筑標(biāo)準(zhǔn)下載網(wǎng)站成都seo工程師
  • 跟我一起做網(wǎng)站競價(jià)賬戶
  • dedecms做多語言的網(wǎng)站百度高級檢索入口
  • 做購物網(wǎng)站 推廣百度網(wǎng)址大全下載到桌面
  • 怎樣查詢江西省城鄉(xiāng)建設(shè)廳網(wǎng)站產(chǎn)品營銷方案策劃
  • 醫(yī)院做網(wǎng)站開發(fā)百度手機(jī)管家
  • 頁面模板怎么修改優(yōu)化官網(wǎng)咨詢
  • 百度創(chuàng)建網(wǎng)站千鋒教育學(xué)費(fèi)
  • 有什么網(wǎng)站可以做設(shè)計(jì)兼職的市場營銷方案怎么做
  • 做網(wǎng)站協(xié)議書網(wǎng)絡(luò)推廣員
  • 如何快速做企業(yè)網(wǎng)站包括商城如何獲取網(wǎng)站的seo
  • 臺州網(wǎng)站推廣外包西安seo顧問公司
  • 商城網(wǎng)站建設(shè)專業(yè)公司怎么查百度競價(jià)關(guān)鍵詞價(jià)格
  • 網(wǎng)站未備案怎么做淘寶客市場營銷方案怎么寫
  • 網(wǎng)站建設(shè)分幾模塊網(wǎng)絡(luò)營銷策劃書的結(jié)構(gòu)
  • 重慶建筑模板生產(chǎn)廠家企業(yè)網(wǎng)站seo推廣
  • 建設(shè)銀行境外購物網(wǎng)站2022年最火的新聞?wù)?/a>
  • 物業(yè)管理 網(wǎng)站開發(fā)常見的營銷方式有哪些
  • 做家電家具回收用哪個(gè)網(wǎng)站好深圳市網(wǎng)絡(luò)營銷推廣服務(wù)公司
  • .net企業(yè)網(wǎng)站網(wǎng)站建站價(jià)格
  • 丹東做網(wǎng)站哪家好武漢seo排名
  • 263企業(yè)郵箱入口登錄網(wǎng)頁版企業(yè)關(guān)鍵詞優(yōu)化價(jià)格
  • 中國建設(shè)銀行網(wǎng)站 黨費(fèi)云軟文是什么意思
  • 建設(shè)網(wǎng)站門戶搜狐酒業(yè)峰會
  • 湖北網(wǎng)站推廣公司技巧nba籃網(wǎng)最新消息
  • h5網(wǎng)站怎么做api對接北京百度總部電話
  • 深圳營銷型網(wǎng)站建設(shè)服務(wù)商營銷系統(tǒng)
  • 建筑學(xué)網(wǎng)站推薦seo搜索引擎優(yōu)化排名哪家更專業(yè)
  • 濟(jì)南網(wǎng)絡(luò)策劃旅游企業(yè)seo官網(wǎng)分析報(bào)告
  • 龍崗營銷網(wǎng)站建設(shè)公司網(wǎng)站建設(shè)深圳公司