最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker部署與常見使用方法

 更新時(shí)間:2026年03月16日 10:37:10   作者:~莫子  
Docker是一種容器化技術(shù),用于管理應(yīng)用的打包、部署和運(yùn)行,它輕量級、一致且可移植,適用于各種部署場景,本文介紹Docker部署與常見使用方法,感興趣的朋友跟隨小編一起看看吧

一、Docker

  • Docker是管理容器的引擎,為應(yīng)用打包、部署平臺(tái),而非單純的虛擬化技術(shù)
  • 特點(diǎn):
    • 輕量級虛擬化
    • 一致性
    • 可移植性
    • 高效的資源利用
    • 易于部署和擴(kuò)展
  • 應(yīng)用(通過docker企業(yè)可以更加高效的部署應(yīng)用并更節(jié)省資源):
    • Laas:基礎(chǔ)設(shè)施即服務(wù)
    • PaaS:平臺(tái)即服務(wù)
    • SaaS:軟件運(yùn)營服務(wù)
  • 除了安全性以外,docker全是優(yōu)點(diǎn)

二、部署Docker

1、配置軟件倉庫

# 利用阿里云部署軟件倉庫
[root@docker-node1 ~]# cat >> /etc/yum.repos.d/docker.repo << EOF
> [docker]
> name = docker
> baseurl = https://mirrors.aliyun.com/docker-ce/linux/rhel/9.6/x86_64/stable/
> gpgcheck = 0
> EOF
[root@docker-node1 ~]# cat /etc/yum.repos.d/docker.repo
[docker]
name = docker
baseurl = https://mirrors.aliyun.com/docker-ce/linux/rhel/9.6/x86_64/stable/
gpgcheck = 0
# 測試:
[root@docker-node1 ~]# dnf makecache
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份
本系統(tǒng)尚未在權(quán)利服務(wù)器中注冊??墒褂?"rhc" 或 "subscription-manager" 進(jìn)行注冊。
docker                                             2.0 kB/s | 2.0 kB     00:00
docker                                              38 kB/s |  46 kB     00:01
AppStream                                          3.1 MB/s | 3.2 kB     00:00
BaseOS                                             2.7 MB/s | 2.7 kB     00:00
元數(shù)據(jù)緩存已建立。
# 查找docker軟件包
[root@docker-node1 ~]# dnf search docker
正在更新 Subscription Management 軟件倉庫。
無法讀取客戶身份
本系統(tǒng)尚未在權(quán)利服務(wù)器中注冊??墒褂?"rhc" 或 "subscription-manager" 進(jìn)行注冊。
上次元數(shù)據(jù)過期檢查:0:00:19 前,執(zhí)行于 2026年03月14日 星期六 14時(shí)55分06秒。
============================ 名稱 和 概況 匹配:docker ============================
docker-buildx-plugin.x86_64 : Docker Buildx plugin for the Docker CLI
docker-ce-rootless-extras.x86_64 : Rootless support for Docker
docker-compose-plugin.x86_64 : Docker Compose plugin for the Docker CLI
docker-model-plugin.x86_64 : Docker Model Runner plugin for the Docker CLI
pcp-pmda-docker.x86_64 : Performance Co-Pilot (PCP) metrics from the Docker daemon
podman-docker.noarch : Emulate Docker CLI using podman
================================ 名稱 匹配:docker ================================
docker-ce.x86_64 : The open-source application container engine
docker-ce-cli.x86_64 : The open-source application container engine

2、安裝Docker

# 安裝docker
[root@docker-node1 ~]# dnf install docker-ce.x86_64 -y
# 編輯docker啟動(dòng)文件,設(shè)定其使用iptables的網(wǎng)絡(luò)設(shè)定方式,默認(rèn)使用nftables
[root@docker-node1 ~]# vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --iptables=true
# 激活內(nèi)核網(wǎng)絡(luò)選項(xiàng)
[root@docker-node1 ~]# echo br_netfilter > /etc/modules-load.d/docker_mod.conf
[root@docker-node1 ~]# modprobe -a br_netfilter
# 驗(yàn)證是否成功
[root@docker-node1 ~]# sysctl -a | grep iptables
net.bridge.bridge-nf-call-iptables = 1
# 修改內(nèi)核參數(shù)
[root@docker-node1 ~]# cat > /etc/sysctl.d/docker.conf <<EOF
> net.bridge.bridge-nf-call-iptables = 1
> net.bridge.bridge-nf-call-ip6tables = 1
> net.ipv4.ip_forward = 1
> EOF
# 生效命令
[root@docker-node1 ~]# sysctl --system
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
# 再啟動(dòng)docker
[root@docker-node1 ~]# systemctl enable --now docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
# 查看系統(tǒng)信息
[root@docker-node1 ~]# docker info

三、Docker的常規(guī)使用方法

1、配置Docker加速器

# 一開始我們想要在docker中找到nginx,需要等很久,并且不一定找到
[root@docker-node1 ~]# docker search nginx
Error response from daemon: Get "https://index.docker.io/v1/search?q=nginx&n=25": dial tcp 162.125.80.6:443: connect: connection refused
# 查看系統(tǒng)信息,此時(shí)還看不到加速器(因?yàn)闆]安裝)
[root@docker-node1 ~]# docker info
# 配置加速器
[root@docker-node1 ~]# cat > /etc/docker/daemon.json <<EOF
> {
> "registry-mirrors":["https://docker.1ms.run"]
> }
> EOF
# 記得重啟
[root@docker-node1 ~]# systemctl restart docker
# 使用查看系統(tǒng)信息,來查看加速器
[root@docker-node1 ~]# docker info
 Registry Mirrors:
  https://docker.1ms.run/
 Live Restore Enabled: false
 Firewall Backend: iptables

2、docker常用命令

(1)查看本地鏡像

# 查看本地鏡像
[root@docker-node1 ~]# docker images
IMAGE   ID             DISK USAGE   CONTENT SIZE   EXTRA

(2)搜索查看鏡像

# 搜索查看鏡像
[root@docker-node1 ~]# docker search nginx

(3)下載鏡像

# 下載(沒指定版本,那么默認(rèn)下載的就是最新的),從鏡像倉庫中拉取鏡像
[root@docker-node1 ~]# docker pull nginx
[root@docker-node1 ~]# docker pull busybox
Using default tag: latest
latest: Pulling from library/busybox
61dfb50712f5: Pull complete
96cfb76e59bd: Download complete
Digest: sha256:b3255e7dfbcd10cb367af0d409747d511aeb66dfac98cf30e97e87e4207dd76f
Status: Downloaded newer image for busybox:latest
docker.io/library/busybox:latest
# 查看鏡像提交歷史
[root@docker-node1 ~]# docker history busybox:latest
IMAGE          CREATED         CREATED BY                          SIZE      COMMENT
b3255e7dfbcd   17 months ago   BusyBox 1.37.0 (glibc), Debian 13   4.49MB
[root@docker-node1 ~]# docker images
                                                                                                i Info →   U  In Use
IMAGE            ID             DISK USAGE   CONTENT SIZE   EXTRA
busybox:latest   b3255e7dfbcd        6.7MB         2.22MB
nginx:1.26       41b194461e4b        279MB         75.2MB

(4)導(dǎo)出鏡像

# 導(dǎo)出鏡像
[root@docker-node1 ~]# docker save -o nginx-1.26.tar nginx:1.26

(5)刪除鏡像

# 刪除鏡像
[root@docker-node1 ~]# docker rmi timinglee/mario:latest

(6)導(dǎo)入鏡像

# 導(dǎo)入鏡像
[root@docker-node1 ~]# ls
anaconda-ks.cfg  game2048-latest.tar  nginx-1.26.tar
busy-latest.tar  mario-latest.tar
[root@docker-node1 ~]# docker load -i game2048-latest.tar
Loaded image: timinglee/game2048:latest
[root@docker-node1 ~]# docker load -i nginx-1.26.tar
Loaded image: nginx:1.26
[root@docker-node1 ~]# docker load -i busy-latest.tar
Loaded image: busybox:latest
[root@docker-node1 ~]# docker load -i mario-latest.tar
Loaded image: timinglee/mario:latest
[root@docker-node1 ~]# docker images
                                                              i Info →   U  In Use
IMAGE                       ID             DISK USAGE   CONTENT SIZE   EXTRA
busybox:latest              b3255e7dfbcd        6.7MB         2.22MB
nginx:1.26                  41b194461e4b        279MB         75.2MB
timinglee/game2048:latest   8a34fb9cb168       77.2MB         17.8MB
timinglee/mario:latest      7758988210df        298MB         73.7MB

(7)運(yùn)行鏡像

# 運(yùn)行鏡像(--name是我們自己設(shè)定容器的名字)
# docker運(yùn)行是交互式的,所有如果不想它占用終端,就可以加入?yún)?shù)-d,此時(shí)容器就會(huì)在后臺(tái)運(yùn)行
[root@docker-node1 ~]# docker run -d --name web nginx:1.26
6b50e55d0dfe8554477a06f42940c3095dc275a2bcda803ba90daa48b6aa1a8f
# 查看運(yùn)行容器(鏡像的運(yùn)行狀態(tài)是容器)
[root@docker-node1 ~]# docker ps
CONTAINER ID   IMAGE        COMMAND                   CREATED          STATUS          PORTS     NAMES
6b50e55d0dfe   nginx:1.26   "/docker-entrypoint.…"   32 seconds ago   Up 31 seconds   80/tcp    web
# 查看系統(tǒng)所有在運(yùn)行的容器
[root@docker-node1 ~]# docker ps -a
CONTAINER ID   IMAGE        COMMAND                   CREATED              STATUS              PORTS     NAMES
6b50e55d0dfe   nginx:1.26   "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    web
# 交互模式運(yùn)行容器
[root@docker-node1 ~]# docker run -it --name busybox busybox:latest
/ # 
# 交互運(yùn)行容器默認(rèn)退出后會(huì)停止
[root@docker-node1 ~]# docker ps -a
CONTAINER ID   IMAGE            COMMAND                   CREATED              STATUS                      PORTS     NAMES
d1b27167a247   busybox:latest   "sh"                      50 seconds ago       Exited (0) 19 seconds ago             busybox
# 運(yùn)行停止的容器
[root@docker-node1 ~]# docker start busybox
busybox
[root@docker-node1 ~]# docker ps -a
CONTAINER ID   IMAGE            COMMAND                   CREATED         STATUS         PORTS     NAMES
1d6ebc31a1f1   busybox:latest   "sh"                      2 minutes ago   Up 2 minutes             busybox
6b50e55d0dfe   nginx:1.26       "/docker-entrypoint.…"   4 minutes ago   Up 4 minutes   80/tcp    web
# 退出交互容器不對其停止
[root@docker-node1 ~]# docker attach busybox
/ # read escape sequence  # [ctrl]+[p]+[q]   # 按鍵
[root@docker-node1 ~]# docker ps -a
CONTAINER ID   IMAGE            COMMAND                   CREATED         STATUS         PORTS     NAMES
1d6ebc31a1f1   busybox:latest   "sh"                      2 minutes ago   Up 2 minutes             busybox
6b50e55d0dfe   nginx:1.26       "/docker-entrypoint.…"   5 minutes ago   Up 5 minutes   80/tcp    web
# 查看容器信息
[root@docker-node1 ~]# docker inspect busybox

(8)容器控制

# 容器控制
[root@Docker-node1 ~]# docker stop busybox			# 停止容器
busybox
[root@Docker-node1 ~]# docker kill busybox			# 殺死容器,可以使用信號
[root@Docker-node1 ~]# docker start busybox			# 開啟停止的容器
busybox
# 在已經(jīng)運(yùn)行的容器中執(zhí)行指定命令(非交互式的)
[root@docker-node1 ~]# docker exec busybox touch /root/haha
[root@docker-node1 ~]# docker exec busybox ls /root
haha
# 在已經(jīng)運(yùn)行的容器中執(zhí)行指定命令(交互式的)
[root@docker-node1 ~]# docker exec -it web /bin/bash
root@6b50e55d0dfe:/# ls
bin   docker-entrypoint.d   home   media  proc  sbin  tmp
boot  docker-entrypoint.sh  lib    mnt    root  srv   usr
dev   etc                   lib64  opt    run   sys   var
root@6b50e55d0dfe:/# exit
exit
# 容器刪除
[root@docker-node1 ~]# docker rm -f busybox
busybox
[root@docker-node1 ~]# docker stop web
web
[root@docker-node1 ~]# docker rm web
web

(9)內(nèi)容提交

# 內(nèi)容提交
[root@docker-node1 ~]# docker run -it --name test busybox:latest
/ # touch /root/file
/ # ls /root
file
[ctrl+qp 退出當(dāng)前環(huán)境并繼續(xù)運(yùn)行容器]
[root@docker-node1 ~]# docker commit -m "add file" test  busybox-file:latest
sha256:174a4462dea47c06af9384ae9b4c3d66837f418f839382bc14d4ae92570adaa9
[root@docker-node1 ~]# docker images
                                                              i Info →   U  In Use
IMAGE                       ID             DISK USAGE   CONTENT SIZE   EXTRA
busybox-file:latest         174a4462dea4       6.71MB         2.21MB
busybox:latest              b3255e7dfbcd        6.7MB         2.22MB    U
nginx:1.26                  41b194461e4b        279MB         75.2MB
timinglee/game2048:latest   8a34fb9cb168       77.2MB         17.8MB
timinglee/mario:latest      7758988210df        298MB         73.7MB
[root@docker-node1 ~]# docker run  -it --name test busybox-file:latest
/ # exit

(10)文件在鏡像中的復(fù)制

# 文件在鏡像中的復(fù)制
[root@docker-node1 ~]# docker run  -it --name test busybox-file:latest
/ # 
[root@docker-node1 ~]# docker cp  test:/root/file  /mnt
Successfully copied 1.54kB to /mnt
[root@docker-node1 ~]# ls /mnt/
file
[root@docker-node1 ~]# docker cp   /etc/passwd  test:/root/
Successfully copied 3.07kB to test:/root/
[root@docker-node1 ~]# docker exec test ls /root
file
passwd

3、容器外部網(wǎng)絡(luò)訪問

# 首先保證運(yùn)行環(huán)境干凈
[root@docker-node1 ~]# docker ps
CONTAINER ID   IMAGE                 COMMAND   CREATED          STATUS          PORTS     NAMES
59b1ebcbe2f7   busybox-file:latest   "sh"      10 minutes ago   Up 10 minutes             test
[root@docker-node1 ~]# docker rm -f  test
test
[root@docker-node1 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
# 前提:保證我們使用的80端口或者你自己設(shè)立的端口沒有被占用,我們可以查詢一下,以防萬一(比如我使用的是80端口)
[root@docker-node1 ~]# netstat -tulpn | grep :80
# -p 本地端口:容器端口
[root@docker-node1 ~]# docker run -d --name mario -p 80:8080 timinglee/mario:latest
e89143d08570cfa193424f83bcff8864e8edc412c849b88bf7d5963288ed47ef
# 之后在瀏覽器里面訪問該主機(jī)的IP地址(172.25.254.10),就可以直接進(jìn)入游戲

到此這篇關(guān)于Docker部署與常見使用方法的文章就介紹到這了,更多相關(guān)Docker部署使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker部署XXL-JOB的示例代碼

    Docker部署XXL-JOB的示例代碼

    XXL-JOB是一個(gè)分布式任務(wù)調(diào)度平臺(tái),可通過MySQL用戶創(chuàng)建和Docker容器化快速部署,本文詳細(xì)介紹了從環(huán)境準(zhǔn)備到驗(yàn)證部署的全過程,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-10-10
  • Idea+docker通過dockerFile往華為云發(fā)布項(xiàng)目實(shí)踐

    Idea+docker通過dockerFile往華為云發(fā)布項(xiàng)目實(shí)踐

    本文介紹了使用IntelliJ IDEA和Docker將Spring Boot項(xiàng)目部署到華為云上,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Docker容器的使用方法簡單示例

    Docker容器的使用方法簡單示例

    這篇文章主要介紹了Docker容器的使用方法簡單示例,包括拉取鏡像、運(yùn)行鏡像、測試容器內(nèi)的應(yīng)用、檢查主機(jī)端口及停止容器的操作方法,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-07-07
  • 阿里云系統(tǒng)安裝docker的操作記錄

    阿里云系統(tǒng)安裝docker的操作記錄

    這篇文章主要介紹了阿里云系統(tǒng)安裝docker,阿里云里面的Redis鏡像最新版也就到6.0,為了安裝最新的7.2的redis 只能用本地window 安裝DockerDesktop,然后安裝最新的redis 把鏡像導(dǎo)出來,再導(dǎo)入到云服務(wù),需要的朋友可以參考下
    2024-07-07
  • 使用Docker-compose離線部署Django應(yīng)用的方法

    使用Docker-compose離線部署Django應(yīng)用的方法

    這篇文章主要介紹了使用Docker-compose離線部署Django應(yīng)用的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-03-03
  • docker在windows創(chuàng)建卷后本地找不到的完美解決方法

    docker在windows創(chuàng)建卷后本地找不到的完美解決方法

    這篇文章主要介紹了docker在windows創(chuàng)建卷后本地找不到的完美解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-02-02
  • 宿主機(jī)器和docker容器互傳文件方式

    宿主機(jī)器和docker容器互傳文件方式

    文章介紹了如何使用docker ps命令查看Docker容器的container_id,以及如何使用docker cp命令將文件從宿主機(jī)傳輸?shù)紻ocker容器中
    2025-10-10
  • Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

    Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析

    這篇文章主要介紹了Linux系統(tǒng)Docker 部署 ASP.NET Core應(yīng)用的流程分析,在操作過程中小編遇到很多問題,下面把我的經(jīng)驗(yàn)及處理方法分享到腳本之家平臺(tái),需要的朋友參考下吧
    2021-06-06
  • 淺談docker --privileged=true參數(shù)作用

    淺談docker --privileged=true參數(shù)作用

    這篇文章主要介紹了淺談docker --privileged=true參數(shù)作用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Docker Push常見報(bào)錯(cuò)及解決方案總結(jié)

    Docker Push常見報(bào)錯(cuò)及解決方案總結(jié)

    這篇文章主要介紹了Docker Push常見報(bào)錯(cuò)及解決方案,包括HTTP響應(yīng)、insecure-registries配置、Registry使用HTTPS以及connection refused問題的詳細(xì)分析和解決方法,需要的朋友可以參考下
    2026-03-03

最新評論

阿勒泰市| 鹿邑县| 察隅县| 晋中市| 囊谦县| 禄丰县| 富川| 察雅县| 江安县| 鄂伦春自治旗| 公安县| 历史| 游戏| 清水县| 宝应县| 乌兰县| 南郑县| 永泰县| 湖南省| 金沙县| 乌恰县| 抚松县| 商河县| 丰县| 安西县| 金门县| 大荔县| 江达县| 武乡县| 三门峡市| 共和县| 通海县| 高雄市| 南汇区| 甘泉县| 秦皇岛市| 江孜县| 汽车| 洪泽县| 满洲里市| 墨竹工卡县|