理論+實驗 詳解Docker部署安裝以及常用命令
目錄
一 Docker概述
1.1 Docker是什麼
●是一種輕量級的“虛擬機器”
●在Linux容器裡執行應用的開源工具
1.2 Docker與虛擬機器的區別
區別 | 虛擬機器 | 容器 |
---|---|---|
資源佔用 | 多 | 少 |
開啟時間 | 30-60秒 | 毫秒級別 |
安全性 | 系統隔離 | 核心共享 |
彈性擴充套件 | 執行時間長 | 執行時間短 |
1.3 Docker的使用場景
●打包應用程式簡化部署
●可脫離底層硬體任意遷移
●例:伺服器從騰訊雲移到阿里雲
二 Docker的核心概念及安裝方式
2.1 Docker核心概念
●映象:
一個面向Docker容器引擎的只讀模板
●容器:
從映象建立的執行例項
●倉庫:
集中儲存映象的地方
2.2 CentOS安裝Docker的兩種方式
●使用CURL獲得Docker的安裝指令碼進行安裝
●使用YUM倉庫來安裝Docker
三 Docker部署安裝
1.安裝依賴包
[root@localhost ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
2.設定阿里雲映象源
[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安裝Docker-CE
[root@localhost ~]# yum -y install docker-ce ##注意這邊要把本地源改為線網源
4.關閉防火牆以及核心防護
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled
5.開啟docker服務
[root@localhost ~]# systemctl start docker.service
[root@localhost ~]# systemctl enable docker.service
6.映象加速
[root@localhost ~]# cd /etc/docker/
[root@localhost docker]# ls
key.json
[root@localhost docker]# tee /etc/docker/daemon.json <<-'EOF'
> {
> "registry-mirrors": ["https://p3d56qc5.mirror.aliyuncs.com"]
> }
> EOF
{
"registry-mirrors": ["https://p3d56qc5.mirror.aliyuncs.com"]
}
[root@localhost docker]# ls
daemon.json key.json
[root@localhost docker]# vim daemon.json ·
[root@localhost docker]# systemctl daemon-reload
[root@localhost docker]# systemctl restart docker
7.網路優化
[root@localhost docker]# vim /etc/sysctl.conf
net.ipv4.ip_forward=1
[root@localhost docker]# sysctl -p
net.ipv4.ip_forward = 1
[root@localhost docker]# service network restart
Restarting network (via systemctl): [ 確定 ]
[root@localhost docker]# systemctl restart docker
四 Docker映象建立與操作
[root@localhost docker]# docker version ##檢視docker版本資訊
[root@localhost docker]# docker search nginx ##查詢指定映象
[root@localhost docker]# docker pull nginx ##下載映象(分散式存放,分層下載)
[root@localhost docker]# docker images ##檢視下載映象資訊
[root@localhost docker]# cd /var/lib/docker/image/overlay2/ ##下載檔案的資訊位置
[root@localhost overlay2]# vi repositories.json ##映象資訊
[root@localhost overlay2]# docker inspect c39a868aad02 ##獲取映象資訊
[root@localhost overlay2]# docker tag nginx:latest nginx:web ##新增新標籤
[root@localhost overlay2]# docker images | grep nginx ##檢視指定映象資訊
[root@localhost overlay2]# docker rmi nginx:latest ##刪除映象
[root@localhost overlay2]# docker save -o /opt/nginx nginx:web ##存出映象命名為nginx存在opt目錄下
[root@localhost overlay2]# docker load < /opt/nginx ##載入映象
[root@localhost overlay2]# docker tag nginx:web cwj/nginx:web ##改標籤
[root@localhost overlay2]# docker push cwj/nginx:web ##上傳映象
五 Docker容器操作
[root@localhost overlay2]# docker create -it nginx:web /bin/bash ##建立容器(i:讓容器的標準輸入保持開啟;t:讓Docker分配一個偽終端)
[root@localhost overlay2]# docker ps -a ##檢視容器(a:列出所有的容器,包括未執行的容器,不加-a列出執行的容器)
[root@localhost overlay2]# docker start f9eaf968d810 ##啟動容器
[root@localhost overlay2]# docker exec -it dd8130492672 /bin/bash ##進入已經在執行的容器中(一定是執行狀態)
[root@dd8130492672 /]# exit ##退出容器
[root@localhost overlay2]# docker run paigeeworld/centos7 /usr/bin/bash -c ls / ##啟動執行命令檢視系統根目錄,-c:執行完釋放掉容器,狀態是Exited
相當於: docker pull paigeeworld/centos7
docker create -it paigeeworld/centos7 /bin/bash
docker start 0c568b6fc0fd
[root@localhost overlay2]# docker run -d paigeeworld/centos7 /bin/bash -c "while true;do echo hello;done" ##持續後臺執行,-d:表示在後臺執行
[root@localhost ~]# docker stop 31cdd35ce6e4 ##終止執行
[root@localhost overlay2]# docker export f9eaf968d810 > nginx_c ##容器匯出
[root@localhost overlay2]# cat nginx_c | docker import - nginx:web ##容器匯入,只會生成映象,而不會建立容器
[root@localhost overlay2]# docker rm f9eaf968d810 ##刪除容器(正在執行的容器不能被刪除)
[root@localhost overlay2]# docker ps -a | awk '{print "docker rm "$1}' | bash ##批量刪除未執行的容器
相關文章
- 理論+實驗 詳解Oracle安裝部署過程Oracle
- Docker 安裝、常用命令、應用部署Docker
- Ubuntu2404安裝以及部署dockerUbuntuDocker
- Devops實戰(一)Docker的部署安裝以及Docker-Compose的使用devDocker
- CentOS 8 安裝 Docker 以及常用命令例項CentOSDocker
- (一) 基於阿里雲安裝配置部署 docker 詳解阿里Docker
- Xwiki安裝部署詳解
- Docker 理論簡介及安裝教程Docker
- Docker介紹及安裝詳解Docker
- Centos7安裝安裝部署dockerCentOSDocker
- 實驗 詳解Docker的各種操作小實驗Docker
- Docker的安裝配置及使用詳解Docker
- Docker Compose 安裝與部署Docker
- docker-compose 配置檔案內容詳解以及常用命令介紹Docker
- 伺服器安裝docker 以及使用docker安裝mysql及svn伺服器DockerMySql
- Jenkins安裝部署使用圖文詳解(非常詳細)Jenkins
- docker下安裝部署jenkins(一)DockerJenkins
- docker 安裝部署 supervisor 小記Docker
- docker安裝部署djanggo和pythonDockerGoPython
- Linux 中 Docker 的部署安裝LinuxDocker
- 二進位制安裝 Docker 以及 Docker ComposeDocker
- Docker基礎和常用命令詳解。Docker
- docker 安裝redis 以及配置連線DockerRedis
- flutter安裝詳解--初體驗--問題解決Flutter
- Docker Linux快速安裝及Nginx部署DockerLinuxNginx
- CentOS7 docker安裝部署教程CentOSDocker
- CentOS 7 Docker安裝部署Go WebCentOSDockerGoWeb
- docker安裝elasticsearch及kibana部署、操作DockerElasticsearch
- 資料整合實現以及平臺安裝部署入門
- Docker 網路模型之 macvlan 詳解,圖解,實驗完整Docker模型Mac圖解
- 常用環境部署—Docker安裝RocketMQ教程!DockerMQ
- Docker的安裝與容器應用部署Docker
- ubuntu20 原始碼安裝nginx以及常用命令Ubuntu原始碼Nginx
- docker安裝portainer詳細步驟DockerAI
- 使用docker安裝gitlab以及gitlab簡單使用DockerGitlab
- [Docker]寫 Dockerfile 的最佳實踐理論Docker
- Maven安裝詳解Maven
- NLA安裝部署詳細講解(二)——NLA自然語言分析的Linux 部署Linux