docker--------介紹、常用命令,國內源配置

1 docker 國內源配置

# 鏡像:一堆文件
?? ?-目前從遠程倉庫下載的:https://hub.docker.com/
? ? -鏡像有很多人提供:官方提供,第三方提供
? ? -鏡像--》更新--》Tag不同版本
? ? ?? ?-centos:latest 最新
?? ?-docker pull 能找到,倉庫中有才行
? ? -忘掉:docker search 名字

# 容器:鏡像運行后的---》當成一個簡潔的操作系統即可

?docker操作

	docker -v  查看版本systemctl status docker 查看docker狀態systemctl start dockersystemctl stop dockerdocker info  # 查看docker更詳細信息

docker pull 設置國內鏡像站

# 遠程倉庫,下載鏡像 ,國外:https://hub.docker.com---》下載比較慢--》設置國內鏡像站

阿里云登錄 - 歡迎登錄阿里云,安全穩定的云計算服務平臺

阿里云注冊會有一個屬于自己的鏡像加速器

docker安裝后會有 /etc/docker 文件夾

vim /etc/docker/daemon.json

?配置這句話

systemctl daemon-reload      
systemctl restart docker
{"registry-mirrors": ["https://x1566319.mirror.aliyuncs.com"]
}

2 鏡像相關操作

??1 查找鏡像

?????-docker search 鏡像名稱 ?
? ? -建議去hub.docker.com 直接搜,更直觀?

2 拉取鏡像,指定標簽 tag

docker pull centos:7
如果不指定標簽,會下載最新
docker pull centos
docker pull centos:latest

3 查看本地鏡像?

docker images  # 等同于 docker image ls

?4 刪除鏡像

docker rmi 鏡像ID   # 可以同時刪多個

??5 刪除所有鏡像

# 查出所有鏡像的id號     docker images -q
docker rmi `docker images -q`

3 容器相關操作

把鏡像運行成容器,并且一個鏡像,可以運行出多個容器?

查看正在運行的容器

docker ps?

查看所有容器

docker ps -a

?查看最后一次運行的容器

docker ps -l

啟動停止的容器

docker start id/名字

?停止運行的容器

docker stop 7d5e

停止所有在運行的容器

docker stop `docker ps -q`

3.2 run運行容器

?# 運行容器(其實是兩步:創建容器:create,運行容器:run)
?? ?-如果容器沒有創建,直接執行run,就會創建并運行,所以你只需要會run就行了
? ? -run 的時候,有很多參數
? ? ? ? -i:表示運行容器
? ? ? ? -t:表示容器啟動后會進入容器命令行。加入這兩個參數后,容器創建就能登錄進去。即分配一個偽終端。
? ? ? ? -d:在run后面加上-d參數,則會創建一個守護式容器在后臺運行(這樣創建容器后不會自動登錄容器,如果只加-i -t兩個參數,創建后就會自動進去容器)
? ? ? ??
? ? ? ??
? ? ? ? --name :為創建的容器命名,如果不寫,隨機生成一個名字
? ? ? ? ? ??
? ? ? ? ? ??
? ? ? ? -v:表示目錄映射關系(前者是宿主機目錄,后者是容器的目錄),可以使用多個-v做多個目錄或文件映射。注意:最好做目錄映射,在宿主機上做修改,然后共享到容器上。
? ? ? ? -p:表示端口映射,前者是宿主機端口,后者是容器內的映射端口。可以使用多個-p做多個端口映射

docker run -id  # 不會進入到容器內部
docker run -it  # 會進入到容器內部# 創建一個python3.9容器---》不進入
docker run -id --name python3 python:3.9# 啟動一個centos容器,名字叫mycentos,并且進入
docker run -it --name=mycentos centos:7
yum install vim -y  # 在容器中裝了vim軟件
exit  # 退出,容器停止了######重要
# 如果是it進入容器---》容器會開啟一個進程處理我:/bin/bash   python  如果在容器中敲exit退出了這個進程,這個進程就結束了---》容器會停止---》容器要運行,必須有個前臺進行在運行,并且是夯住(阻塞)的---》否則容器就聽了# 啟動一個centos容器,名字叫mycentos,不進入
docker run -id  centos:7# 啟動容器
docker start mycentos# 進入到容器內部(本質是讓容器執行命令)
docker exec 容器id 命令
docker exec f82e8578b9b1 lsdocker exec -it  f82e8578b9b1 /bin/bash  # 進入到容器內部# 退出
exit

3.1 -v目錄映射

1 運行容器并做映射(宿主機--》有docker軟件)
docker run -id --name=lqzcentos  -v /home/lqz/:/home/ centos:7
#docker run -id --name=lqzcentos  -v /home/lqz/aa.txt:/aa.txt centos:7
2 進入到容器內部
docker exec -it lqzcentos /bin/bash
3 到home路徑下
cd /home
4 容器內部修改文件---》會影響外部5 外部修改文件---》影響內部# 好處是,后期咱們部署django項目有個django容器,做好映射,代碼放在宿主機上即可,以后更新了代碼,只要重啟容器,代碼就是最新了運行mysql容器---》mysql配置文件放在宿主機上做好映射mysql容器---》表數據,放到容器中---》如果刪了容器---》數據庫全沒了表數據,放在宿主機上---》把容器刪除---》表數據還在----》再啟動一個容器做好映射---》數據都還在# -v參數:目錄映射
docker run -id --name=lqz -v /home/lqz:/lqz centos:7
以后無論在宿主機還是容器中修改當前目錄下的文件,都會相互影響

3.4 -p 端口映射

# -p參數:端口映射  容器中啟動一個mysql5.7 --》容器中的3306監聽,
宿主機3306沒人監聽,做端口映射后,宿主機的3306就被docker的這個容器監聽了
# 啟動的mysql的root密碼是123456# 啟動mysql容器
docker run -id --name=mysql -p 3307:3306  -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7#  netstat -nlp |grep 3307 查看本機80端口占用情況
# 以后訪問宿主機80端口就等于訪問容器的3306端口

3.5 容器剩余

# 啟動容器docker start 容器id
# 停止容器docker stop 容器id# 文件拷貝(宿主機執行)# 容器的文件copy到宿主機上(不是在容器內執行)docker cp 容器名稱:容器目錄 需要拷貝的文件或目錄docker cp  f6ce8be027de:/aa.txt /aa.txt# 宿主機的文件copy到容器中docker cp 需要拷貝的文件或目錄 容器名稱:容器目錄docker cp /home/lqz/aa.txt f6ce8be027de:/aa.txt# 查看容器IP地址    docker inspect 容器名稱  # 查看容器的詳細描述,很多docker inspect 7f412212f708 --format='{{.NetworkSettings.IPAddress}}' 容器名稱(容器ID)# 在多個容器之間是可以ping通的(容器和宿主機也可以)
# centos:172.17.0.3
# mysql:172.17.0.2# 刪除容器(刪除已停止的容器)docker rm 容器id  docker rm `docker ps -a -q`# 無狀態的服務(在容器中盡量運行無狀態的服務)-mysql reids   有狀態,運行過程中產生數據,保存,容器刪除,數據就沒了-uwsgi+django  無狀態的服務

5 遷移備份

?# 鏡像從哪來的?
?? ?1 docker pull 拉的
? ? 2 通過容器打包成鏡像
? ? 3 Dockerfile構建

?容器保存為鏡像

	-運行一個centos容器docker run -id --name centos_vim centos:7-在容器中裝vimdocker exec -it a6e240 /bin/bashyum install vim -y-把容器做成鏡像(centos+vim)docker commit centos_vim centos_vim_image-把centos_vim 容器刪除docker rm centos_vim-基于新構建的鏡像,運行成容器docker run -id --name centos_vim centos_vim_image:latest-進入到容器中,查看,軟件都在docker exec -it id號 /bin/bash

鏡像備份和恢復

docker save -o centos_vim_image.tar centos_vim_image-刪除容器,刪除鏡像-把備份的鏡像恢復docker load -i centos_vim_image.tar

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/38633.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/38633.shtml
英文地址,請注明出處:http://en.pswp.cn/news/38633.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

舊版本docker未及時更新,導致更新/etc/docker/daemon.json配置文件出現docker重啟失敗

一、背景 安裝完docker和containerd之后,嘗試重啟docker的時候,報錯如下: systemctl restart dockerJob for docker.service failed because the control process exited with error code. See “systemctl status docker.service” and “…

學習ts(一)數據類型(基礎類型和任意類型)

運行 起步安裝 npm install typescript -g 運行tsc index.ts生成對應的js文件,然后使用node index.js執行js文件 為了方便運行還可以安裝插件,ts-node index.ts運行即可 npm i ts-node -g npm init -y npm i types/node -D基本數據類型 // 1.字符…

探索不同類型的代理服務器 (代理 IP、socks5 代理)及其在網絡安全與爬蟲中的應用

1. 代理服務器簡介 代理服務器是一臺充當中間人的服務器,它在客戶端與目標服務器之間傳遞網絡請求。代理服務器在不同層級上可以執行不同的任務,包括緩存、過濾、負載均衡和隱藏客戶端真實IP地址等。在網絡安全和爬蟲領域,代理服務器具有重要…

ARM(匯編指令)

.global _start _start:/*mov r0,#0x5mov r1,#0x6 bl LoopLoop:cmp r0,r1beq stopsubhi r0,r0,r1subcc r1,r1,r0mov pc,lr*/ mov r0,#0x1mov r1,#0x0mov r2,#0x64bl Loop Loop:cmp r0,r2bhi stopadd r1,r1,r0add r0,r0,#0x01mov pc,lr stop:B stop.end

現有的vue3+ts+vite項目集成electron

效果圖 什么時Electron Electron是使用JavaScript,HTML和CSS構建跨平臺的桌面應用程序框架。 Electron兼容Mac、Windows和Linux,可以構建出三個平臺的應用程序。 現有的vue3項目集成Electron 安裝依賴 原來有一個vue3+ts+vite+pnpm的項目,其中sub-modules是子項目,web是…

Monge矩陣

Monge矩陣 對一個m*n的實數矩陣A&#xff0c;如果對所有i&#xff0c;j&#xff0c;k和l&#xff0c;1≤ i<k ≤ m和1≤ j<l ≤ n&#xff0c;有 A[i,j]A[k,l] ≤ A[i,l]A[k,j] 那么&#xff0c;此矩陣A為Monge矩陣。 換句話說&#xff0c;每當我們從矩陣中挑…

全面梳理Python下的NLP 庫

一、說明 Python 對自然語言處理庫有豐富的支持。從文本處理、標記化文本并確定其引理開始&#xff0c;到句法分析、解析文本并分配句法角色&#xff0c;再到語義處理&#xff0c;例如識別命名實體、情感分析和文檔分類&#xff0c;一切都由至少一個庫提供。那么&#xff0c;你…

地理數據的雙重呈現:GIS與數據可視化

前一篇文章帶大家了解了GIS與三維GIS的關系&#xff0c;本文就GIS話題帶大家一起探討一下GIS和數據可視化之間的關系。 GIS&#xff08;地理信息系統&#xff09;和數據可視化在地理信息科學領域扮演著重要的角色&#xff0c;它們之間密切相關且相互增強。GIS是一種用于采集、…

歐拉函數和最大公約數

分析&#xff1a;如果兩個數的最大公約數是一個質數p&#xff0c;那么這兩個數都除以p&#xff0c;得到的兩個數的最大公約數一定是1. 反證法&#xff1a;如果得到的兩個數的最大公約數不是1&#xff0c;那么把此時的最大公約數乘以上邊的最大公約數&#xff0c;得到的一定比上…

文件操作 和 IO

目錄 ?編輯一、認識文件 1、文件路徑 2、其它知識 二、Java 中操作文件 三、文件內容的讀寫 1、Reader 2、InputStream 3、輸出 一、認識文件 文件是在硬盤上存儲數據的一種方式&#xff0c;操作系統幫我們把硬盤的一些細節都封裝起來了 我們只需要了解文件相關的一些…

【前端 | CSS】滾動到底部加載,滾動監聽、懶加載

背景 在日常開發過程中&#xff0c;我們會遇到圖片懶加載的功能&#xff0c;基本原理是&#xff0c;滾動條滾動到底部后再次獲取數據進行渲染。 那怎么判斷滾動條是否滾動到底部呢&#xff1f;滾動條滾動到底部觸發時間的時機和方法又該怎樣定義&#xff1f; 針對以上問題我…

數據集成革新:去中心化微服務集群的無限潛能

在當今數據密集型的業務環境下&#xff0c;傳統的集中式架構已經難以滿足高可用性和高并發性的要求。而去中心化微服務集群則通過分散式的架構&#xff0c;將系統劃分為多個小型的、獨立部署的微服務單元&#xff0c;每個微服務負責特定的業務功能&#xff0c;實現了系統的高度…

centos系統kubeadm安裝K8S_v1.27.x容器使用docker(K8S_v1.24版本以后依然使用docker容器管理)

kubeadm安裝K8S_v1.27.x容器使用docker 按照需要的文檔點擊這里下載 一.環境部署 1.1基礎環境配置 主機IP 主機名規劃 192.168.186.128 k8s-master01 192.168.186.129 k8s-node01 192.168.186.130 k8s-node02 1.2修改機器名稱 #永久修改主機名 hostnamectl set-hostname …

docker搭建opengrok環境

引言&#xff1a; 由于這幾天開始 http://aospxref.com/ 網站沒法用了。用習慣了opengrok的方式看AOSP的源碼&#xff0c;其他的在線查看源碼的網站用起來都不是很理想。所以考慮搭建一個環境。 首先網上看了下opengrok的環境搭建的方式&#xff0c;最終還是采用docker的方…

【JS 一個數組隨機選取x個元素】

可以使用Math.random()方法&#xff0c;結合循環和splice()方法來實現&#xff1a; let arr [1,2,3,4,5,6,7,8,9]; let randomArr [];for(let i 0; i < 4; i) {let randomIndex Math.floor(Math.random() * arr.length);let randomNum arr.splice(randomIndex, 1)[0];…

基于C#的無邊框窗體陰影繪制方案 - 開源研究系列文章

今天介紹無邊框窗體陰影繪制的內容。 上次有介紹使用雙窗體的方法來顯示陰影&#xff0c;這次介紹使用API函數來進行繪制。這里使用的是Windows API函數&#xff0c;操作系統的窗體也是用的這個來進行的繪制。 1、 項目目錄&#xff1b; 下面是項目目錄&#xff1b; 2、 函數介…

日常BUG——SpringBoot模糊映射

&#x1f61c;作 者&#xff1a;是江迪呀??本文關鍵詞&#xff1a;日常BUG、BUG、問題分析??每日 一言 &#xff1a;存在錯誤說明你在進步&#xff01; 一、問題描述 SpringBoot在啟動時報出如下錯誤&#xff1a; Caused by: java.lang.IllegalStateExceptio…

ARM處理器

1、RISC處理器&#xff1a; RISC (Reduced Instruction Set Computer) 微處理器是一種計算機微處理器架構&#xff0c;其設計原則是通過簡化指令集來提高執行速度。 (1)、RISC處理器的設計理念&#xff1a; 簡化指令集&#xff1a;RISC 微處理器的指令集非常精簡&#xff0c…

【Python COM】Word 自動縱向合并相同內容單元格

使用場景 docxtempl 庫不支持動態縱向合并單元格&#xff0c;所以寫了這段代碼用來曲線救國。 使用方法 需要縱向合并的單元格加上在文本末尾加上“【縱向合并】”&#xff0c;然后調用此函數&#xff0c;就會自動縱向合并相同內容的單元格。 代碼 需要安裝 pywin32 庫。 …

VC2015,C++內存中運行EXE文件

VC2015,C內存中運行EXE文件&#xff0c;點擊可以下載 VC2015項目中所用的源碼主要源自于網絡&#xff0c;修正一些錯誤后&#xff0c;源碼如下&#xff0c;此源碼在VC6中可以正常編譯&#xff0c; 但在VC2015中&#xff0c;就會出現一些錯誤&#xff0c;本項目源碼已經把錯誤修…