網站首頁 編程語言 正文
真正應用docker來構建部署項目有點晚了, 最近正好有新環境嘗試應用了一下, docker應用了幾年也已經很成熟了,網上資料很多,稍微記錄一下.
Docker的理念就是一次構建,隨處運行. Build, Ship, and Run Your Applications Everywhere
在最新官網看到的這句話覺得很溫暖, we work to make the developers’ lives easier because we’re developers too.
大意是:我們為了讓開發者活得更輕松而工作, 因為我們也是開發者.??
引自百度百科:
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發布到任何流行的?Linux或Windows?機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
docker相關概念這篇文章也講得很清晰?https://www.cnblogs.com/duguxiaobiao/p/10465602.html
核心概念感覺有必要抄來重復一下:
-
容器
容器是鏡像的一個實例,是一個小型的運行時環境,比如一般是小型的linux環境(基于linux內核的小型環境),用java代碼比喻就是:容器是一個類的實例對象,比如 Person 小明 = new Person(); Person就是一個模板,也是要給鏡像
-
鏡像
鏡像是保存在鏡像倉庫中的,pull鏡像,相當于 將鏡像實例化成容器后部署在自己的環境中,用java來說就是一個類對象
-
倉庫
倉庫是用來保存多個注冊倉庫的,每個注冊倉庫中保存了不同的鏡像image文件
說來慚愧, 擁抱docker有點晚了,公司還停留在使用虛擬機來部署的年代, 也不是說虛擬機不好, 對比起來確實是資源利用率比較低了, 尤其對于小企業來說。? 個人理解docker的概念跟java虛擬機概念類似,是一個更廣義的虛擬抽象,不僅只能跑java應用,只要你能弄成鏡像塞進去,都能跑,純粹一己之見,哈哈。閑話不多說,安裝一下
安裝
以下都基于能聯網的情況下進行,對于內網服務器沒互聯網環境的,就需要手動下載安裝包和依賴了。
本次主機是centos7.6
引用阿里的yum鏡像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum makecache fast
yum -y install docker-ce
就安裝完了。
接下來修改一下docker默認鏡像和容器在系統中的磁盤目錄
# Docker默認的鏡像和容器存儲位置在/var/lib/docker中
# 修改docker.service文件
vim /lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd --graph=/Raid5App01/Docker --storage-driver=overlay --registry-mirror=https://s42tycw4.mirror.aliyuncs.com
# --graph=/Raid5App01/Docker:docker新的存儲位置
# --storage-driver=overlay2 : 當前docker所使用的存儲驅動 (存儲驅動不改也會變成overlay2)
# --registry-mirror=https://s42tycw4.mirror.aliyuncs.com : docker鏡像拉取地址systemctl daemon-reload
systemctl restart docker
# 查看docker信息
docker info
阿里云官網的教程部分無效,找不到鏡像配置文件了。
實踐
裝個nginx嘗試下?
搜索鏡像:docker search nginx
安裝最新的版本:docker pull nginx:latest
查看鏡像:docker images
創建容器(對象):docker run --name nginx-dxx -p 8080:80 -d nginx
--name nginx-dxx:容器名稱。
-p 8080:80: 端口進行映射,將本地 8080 端口映射到容器內部的 80 端口。
-d nginx: 設置容器在在后臺一直運行。
查看容器:docker ps
訪問:?
其他常規命令? docker ps:查看運行中的容器,docker ps -a 查看所有容器,包含停止的。其他還有如 啟動,停止容器,?docker start nginx, docker stop nginx.
?
本次小結先到此,只是入門皮毛,距離自動化運維部署不遠了,哈哈。
原文鏈接:https://blog.csdn.net/YSOLA4/article/details/105718230
相關推薦
- 2022-05-10 一起來學習C++中remove與erase的理解_C 語言
- 2022-07-20 C/C++舉例講解關鍵字的用法_C 語言
- 2022-10-24 C語言控制進程之進程等待詳解_C 語言
- 2022-08-03 python數據類型可變與不可變深入分析_python
- 2021-11-25 使用Xshell連接VMware上的Linux虛擬機(圖文步驟)_VMware
- 2023-02-01 Python中使用zip函數的七重境界解析_python
- 2022-08-31 C++淺析構造函數的特性_C 語言
- 2022-07-24 C語言與C++中關于字符串使用的比較_C 語言
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支