国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Docker實踐:使用Docker搭建個人開發(fā)環(huán)境(極簡版)

這篇具有很好參考價值的文章主要介紹了Docker實踐:使用Docker搭建個人開發(fā)環(huán)境(極簡版)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

說明

本文是在服務(wù)器已經(jīng)配置好 Docker 相關(guān)環(huán)境的情況下,簡要介紹了在服務(wù)器上如何構(gòu)建 Docker 鏡像來搭建個人開發(fā)環(huán)境,因此本文不涉及 Docker 的安裝、維護以及各種細節(jié),若要詳細了解,請查看文章最后的 相關(guān)資料 一節(jié)。

教程

以下所有操作均在同一文件夾(例如 /media/username/Docker 文件夾)內(nèi)進行。,請在自己的目錄下新建一個 Docker 文件夾

1. 編寫 Dockerfile

新建 Dockerfile 文件:

  • FROM 后跟需要使用的基礎(chǔ)鏡像,你的鏡像會在此基礎(chǔ)上構(gòu)建,可以省去很多配環(huán)境的步驟,例如使用NVIDIA官方提供的cuda鏡像,可以省去手動配cuda環(huán)境的步驟: nvidia/cuda:12.2.0-devel-ubuntu22.04。更多版本見nvidia/cuda。
  • RUN /bin/bash -c 后面的雙引號中,添加你在配環(huán)境過程中需要執(zhí)行的命令,不用寫出所有的命令,進入容器后還可以繼續(xù)配環(huán)境。
FROM registry.cn-hangzhou.aliyuncs.com/2h1c_aliyun/accelerate:nvidia_cuda_12.2.0-devel-ubuntu22.04

# 每一個RUN命令都會在鏡像中構(gòu)建一個“層”
# 從DEBIAN_FRONTEND開始往下的都是安裝命令,僅為示例,非必須
RUN /bin/bash -c "sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \ 
    && sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list \ 
    && apt update && apt upgrade -y"
RUN /bin/bash -c "DEBIAN_FRONTEND=noninteractive apt install tzdata git openssh-server vim zsh \ 
    make sudo net-tools inetutils-ping \ 
    language-pack-zh* -y"

Dockerfile 所在文件夾下,執(zhí)行構(gòu)建命令:

docker build -t=zhaoliangcheng_image:latest .
  • zhaoliangcheng_image 替換成你為新鏡像起的名字
  • latest是版本/標簽名稱,同樣可以改為自定義的名稱

2. 編寫 docker-compose.yml

新建 docker-compose.yml 文件:

  • 所有寫著自定義名稱的,都可以用相同的名稱,注意不能與他人的重復(fù),最好命名為username_xxx,即用戶名_英文字符串
version: '3.8'
name: 自定義名稱
services:
  自定義名稱:
    init: true
    container_name: 自定義名稱
    network_mode: "host"
    privileged: true
    image: Dockerbuild構(gòu)建出的鏡像
    command: tail -f /dev/null
    volumes:
      - "/tmp/.X11-unix:/tmp/.X11-unix:rw"
      - "/dev:/dev:rw"
      - "./ENVIRONMENTS:/root/ENVIRONMENTS:rw"
      - "./SHARE:/root/SHARE:rw"
    working_dir: /root
    environment:
      - DISPLAY=$DISPLAY
      - LC_ALL=C.UTF-8
      - NVIDIA_DRIVER_CAPABILITIES=all
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [compute,graphics,video,utility,display]

例如:

version: '3.8'
name: zhaoliangcheng_container
services:
  zhaoliangcheng_container:
    init: true
    container_name: zhaoliangcheng_container
    network_mode: "host"
    privileged: true
    image: zhaoliangcheng_image:latest
    command: tail -f /dev/null
    volumes:
      - "/tmp/.X11-unix:/tmp/.X11-unix:rw"
      - "/dev:/dev:rw"
      - "./ENVIRONMENTS:/root/ENVIRONMENTS:rw"
      - "./SHARE:/root/SHARE:rw"
    working_dir: /root
    environment:
      - DISPLAY=$DISPLAY
      - LC_ALL=C.UTF-8
      - NVIDIA_DRIVER_CAPABILITIES=all
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [compute,graphics,video,utility,display]

3. 使用容器

所有要保存的數(shù)據(jù)例如代碼、模型等,放在 /root/SHARE/root/ENVIRONMENTS

創(chuàng)建容器

創(chuàng)建容器就好比創(chuàng)建一個虛擬機,只需運行一次創(chuàng)建命令即可。

docker compose up -d

如果修改docker-compose.yml ,那么想要讓修改生效,就需要重新執(zhí)行這條命令,但這會讓原容器被刪除,因此需要保存好數(shù)據(jù)

啟動容器

當(dāng)容器創(chuàng)建成功后,以后每次啟動容器,都只需執(zhí)行這條命令:

docker start 容器名稱

其中,容器名稱是你在 docker-compose.ymlcontainer_name 一項中所填寫的自定義名稱

進入容器

命令行
docker exec -it 容器名稱 bash
VSCode

在擴展中安裝Remote插件,安裝好后在左側(cè)的遠程資源管理器中先連接到服務(wù)器,然后在新打開的VSCode窗口中,選擇 開發(fā)容器 ,右鍵選擇 附加到容器 即可連接

4. 關(guān)閉容器

docker stop 容器名稱

5. 備份容器

通過備份容器,可以:

  • 在容器環(huán)境損壞時快速恢復(fù)環(huán)境
  • 在服務(wù)器與個人電腦間遷移環(huán)境

備份容器分為導(dǎo)出導(dǎo)入兩個步驟:

  • 導(dǎo)出是將容器導(dǎo)出為 *.tar 文件
  • 導(dǎo)入是將 *.tar 文件中的內(nèi)容導(dǎo)入成鏡像,通過鏡像就可以創(chuàng)建容器了

導(dǎo)出

  1. 關(guān)閉容器
docker stop 容器名稱
  1. 執(zhí)行導(dǎo)出命令
docker export -o=文件名稱.tar 容器名稱

導(dǎo)入

  1. 執(zhí)行導(dǎo)入命令
docker import 文件名稱.tar 鏡像名稱:版本號
  1. 查看系統(tǒng)中所有的鏡像
docker images -a

6. 重置容器

如果環(huán)境損壞,可以重置容器,恢復(fù)環(huán)境到某個版本。

重置容器有刪除重新創(chuàng)建兩個步驟:文章來源地址http://www.zghlxwxcb.cn/news/detail-604581.html

  1. 刪除容器(注意將需要保存的數(shù)據(jù)移動到 /root/SHARE/root/ENVIRONMENTS 中)
docker compose down
  1. 重新創(chuàng)建容器
    修改 docker-compose.ymlimage 中的 鏡像名稱:版本號 ,Docker 就會使用image中的鏡像新建一個容器,并且 /root/SHARE/root/ENVIRONMENTS 中的數(shù)據(jù)不會丟失
docker compose up -d

相關(guān)資料

文章合集

  • Docker專欄:Docker 相關(guān)文章合集

詳細了解本文

  • 若要詳細了解本文中的內(nèi)容,參考Docker實踐:使用Docker搭建個人開發(fā)環(huán)境

在個人電腦上安裝 Docker

  • 若要在個人電腦上安裝 Docker ,參考Docker官方文檔學(xué)習(xí)筆記(一):安裝Docker Engine(和安裝Docker Desktop for Linux二選一)。
  • 在最新的WSL2中同樣可以安裝 Docker Engine,參考在Windows 11 中安裝和使用 WSL 2

容器使用 NVIDIA 顯卡

  • 如果個人電腦有NVIDIA獨顯,參考Ubuntu下 NVIDIA Container Runtime 安裝與使用,使容器也能使用顯卡

托管鏡像

  • 如果想像使用 GitHub 托管代碼一樣,托管鏡像,參考使用阿里云管理Docker鏡像

運行GUI程序

  • 如果想在容器中運行GUI程序,參考Docker容器運行GUI程序的方法(直接進入Docker容器運行或通過SSH連接Docker容器運行)

到了這里,關(guān)于Docker實踐:使用Docker搭建個人開發(fā)環(huán)境(極簡版)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • openGauss 極簡版安裝

    openGauss 官網(wǎng) ? openGauss 下載地址? 支持的操作系統(tǒng) ● ARM: ? ● openEuler 20.03LTS(推薦采用此操作系統(tǒng)) ? ● 麒麟V10 ? ● Asianux 7.5 ● X86: ? ● openEuler 20.03LTS ? ● CentOS 7.6 ? ● Asianux 7.6 準備軟硬件安裝環(huán)境 # Step 1: 新建用戶組、用戶 # Step 2: 創(chuàng)建文件夾 # Step 3: 下載安裝包

    2023年04月12日
    瀏覽(17)
  • 手寫Openfeign實現(xiàn)原理——極簡版

    手寫Openfeign實現(xiàn)原理——極簡版

    最近開發(fā)cloud項目,里面涉及到服務(wù)間調(diào)用,最后使用的openfeign解決的,于是對于openfeign的底層原理有些興趣了,提前透露一下底層無非就是使用一些http調(diào)用的工具幫助我們實現(xiàn)了請求調(diào)用 首先創(chuàng)建一個springboot項目 有一個發(fā)送請求的工具這里使用的ribbon 創(chuàng)建兩個自定義注解

    2024年02月10日
    瀏覽(16)
  • Python大作業(yè)(極簡版3000字)

    Python大作業(yè)(極簡版3000字)

    作業(yè)要求: 作業(yè)要分摘要和正文兩部分。在書寫時,請注意以下幾點: 1.摘要字數(shù)在300字左右,可分條描述,但不許有圖,表和流程圖。 2.正文字數(shù)為1500-2000字(截圖不算字數(shù))。 3.在編程環(huán)境中寫代碼,并將程序代碼及運行結(jié)果截圖插入文本中。 4.格式要求:中文宋體,英

    2024年02月10日
    瀏覽(15)
  • Vue父子組件值的傳遞【極簡版】

    前些天發(fā)現(xiàn)了一個巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家?!緦毑厝肟凇?。 在Vue.js中,父組件向子組件傳遞值通常通過props(屬性)來實現(xiàn)。以下是一種典型的方法: 在父組件中,可以使用子組件的標簽,并通過props屬性將數(shù)據(jù)傳遞給子組件

    2024年01月24日
    瀏覽(33)
  • docker使用code-server搭建開發(fā)環(huán)境 v2.0

    docker安裝 1、設(shè)置安裝目錄 2、安裝nodejs16 3、安裝rust 設(shè)置國內(nèi)更新路徑,放到 vim /etc/profile 安裝rust 1、下載鏡像 2、運行和掛載目錄 說一下運行命令 3、配置容器內(nèi)的環(huán)境變量 驗證 ip:80 然后輸入密碼就行

    2024年02月12日
    瀏覽(21)
  • 使用code-server為Docker容器搭建在線開發(fā)環(huán)境

    使用code-server為Docker容器搭建在線開發(fā)環(huán)境

    Code-server是一個基于服務(wù)端的開源VSCode。只要服務(wù)器端配置好code-server,就可以在任何瀏覽器上使用VScode訪問服務(wù)器的代碼進行編程。(GitHub地址:https://github.com/cdr/code-server) Docker是一個開源的Linux容器引擎。我們在日常的開發(fā)任務(wù)中可以利用Docker容器快速地搭建實驗環(huán)境或

    2023年04月08日
    瀏覽(23)
  • 使用Docker搭建開發(fā)環(huán)境:MySQL、Redis、MongoDB和Selenium Grid

    Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何支持Docker的平臺上。在本篇博客中,我們將詳細介紹如何用Docker安裝MySQL、Redis、MongoDB和Selenium Grid,并給出相應(yīng)的代碼案例。 在開始之前,確保您的系統(tǒng)上安

    2024年02月19日
    瀏覽(20)
  • openGauss學(xué)習(xí)筆記-03 openGauss極簡版單節(jié)點安裝

    openGauss學(xué)習(xí)筆記-03 openGauss極簡版單節(jié)點安裝

    openGauss支持以腳本方式進行極簡安裝,極簡安裝包括單節(jié)點安裝和一主一備節(jié)點安裝。 3.1 獲取安裝包 3.1.1 下載對應(yīng)平臺的安裝包 從openGauss開源社區(qū)下載對應(yīng)平臺的安裝包 登錄openGauss開源社區(qū),選擇對應(yīng)平臺的最新安裝包下載。對于個人開發(fā)者或非企業(yè)級環(huán)境,下載極簡安

    2024年02月13日
    瀏覽(43)
  • 使用VSCode的 Dev Containers 插件搭配Docker 容器進行開發(fā)環(huán)境的搭建

    使用VSCode的 Dev Containers 插件搭配Docker 容器進行開發(fā)環(huán)境的搭建

    需要安裝插件 https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers 安裝Docker 這樣做的好處 每一個項目可以運行一個容器,在容器內(nèi)開發(fā),相關(guān)之間node環(huán)境隔離,徹底解決本地包版本依賴關(guān)錯亂問題 共用宿主機的git 配置, 如果用的是 alpine 版本的鏡像,則沒有

    2024年01月21日
    瀏覽(38)
  • Docker一鍵安裝個人基礎(chǔ)開發(fā)環(huán)境-MySQL、Redis、MongoDB

    Docker一鍵安裝個人基礎(chǔ)開發(fā)環(huán)境-MySQL、Redis、MongoDB

    Docker Compose 在個人開發(fā)環(huán)境中,使用 Docker Compose 可以極大地簡化和優(yōu)化應(yīng)用程序的部署和管理過程。 Docker Compose 的配置文件通常采用 YAML 格式,使其易于閱讀和編寫。我們可以在配置文件中指定所需的容器鏡像、端口映射、環(huán)境變量、數(shù)據(jù)卷掛載等配置選項,以及容器之間

    2024年02月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包