關注程式設計師的故事,一起用技術改變世界
Docker介紹
Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。Docker 從 17.03 版本之後分為 CE(Community Edition: 社區版) 和 EE(Enterprise Edition: 企業版),我們用社區版就可以了。
下面的圖片比較了 Docker 和傳統虛擬化方式的不同之處,可見容器是在作業系統層面上實現虛擬化,直接復用本地主機的作業系統,而傳統方式則是在硬體層面實現。
Docker 在如下幾個方面具有較大的優勢。
更快速的交付和部署
更高效的虛擬化
更輕鬆的遷移與擴展
更簡單的管理
Docker安裝方式
第一種:手動安裝docker:
a.卸載舊版本docker:
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
b.安裝最新版本docker:
yum install docker-ce docker-ce-cli containerd.io -y
第二種:一鍵安裝 docker(使用官網docker腳本安裝,設置鏡像源為阿里源):
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
D o cker測試
查看docker是否安裝成功,執行命令:
#查看docker是否安裝成功docker -v [root@ecs-263f ~]# docker -v Docker version 19.03.11, build 42e35e6
docker常用命令:
#查看docker運行狀態 [root@localhost local]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: inactive (dead) Docs: https://docs.docker.com #docker啟動命令 [root@localhost local]# systemctl status docker #docker容器查看命令 [root@localhost local]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES #查看所有已經創建的容器 [root@ecs-263f ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 02af3882test nginx:latest "/docker-entrypoint.…" 13 days ago Up 3 days 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp nginx_1 178fc138test portainer/portainer "/portainer" 2 weeks ago Up 3 days 0.0.0.0:32773->8000/tcp, 0.0.0.0:32772->9000/tcp zentao_2 9a5eeb0atest nginx "/docker-entrypoint.…" 2 weeks ago Up 3 days 0.0.0.0:32776->80/tcp nginx_2 55069eb8test mariadb:10.5.3 "docker-entrypoint.s…" 2 weeks ago Up 4 days 0.0.0.0:3307->3306/tcp db_1 7b6928b9test traefik:v2.1.4 "/entrypoint.sh --ap…" 2 weeks ago Up 3 days 0.0.0.0:90->80/tcp, 0.0.0.0:32771->8080/tcp zentao_1 4df5d801test 3c8b3861test "docker-php-entrypoi…" 2 weeks ago Up 3 days 0.0.0.0:32775->80/tcp, 0.0.0.0:32774->9000/tcp php #顯示容器使用的系統資源 [root@ecs-263f ~]# docker stats db_1 CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 55069eb8test db_1 0.01% 214.9MiB / 15.38GiB 1.36% 66.4MB / 100MB 125MB / 54.4MB 31 #查看容器的日誌 [root@ecs-263f ~]# docker logs db_1 #重啟指定容器docker start db_1(啟動) [root@ecs-263f ~]# docker restart db_1
D o cker開機自啟
[root@localhost ~]# systemctl enable docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
D o cker容器自動啟動
#使用在Docker run的時候使用--restart參數來設置。 #no - container:不重啟 #on-failure - container:退出狀態非0時重啟 #always:始終重啟 docker run -i -t -d --name db_1 --restart=always mariadb:10.5.3
以上就是docker的安裝教程與簡單使用教程, 作為一種新興的虛擬化方式,Docker 跟傳統的虛擬化方式相比具有眾多的優勢。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺「網易號」用戶上傳並發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.