docker是爲開發者和管理者提供開發,發佈,運行程序的容器平臺mysql
使用linux容器發佈應用叫作容器化,容器並非新的,可是使得發佈應用更加方便linux
容器化更加流行,具備如下特色:sql
靈活:很是複雜的應用都能容器化docker
輕量級:容器共享主機內核app
可互換:能夠在更新和升級中發佈分佈式
可移植:在本地構建,發佈在雲,在任何地方運行ui
可擴展:能夠自動增長分佈式容器副本spa
可堆疊:能夠垂直地堆疊發佈服務操作系統
容器經過運行一個鏡像來啓動,鏡像是可執行的包,包含運行一個應用全部的代碼,運行環境,庫,環境變量,配置文件線程
容器是鏡像運行時的一個實例,在執行的時候盡享是什麼樣的,也就是有狀態的或者用戶處理的鏡像。能夠經過查看容器運行的鏡像
容器和虛擬機
容器運行在linux上,和主機上其餘容器共享內核,在不一樣的線程上運行,不須要更多的內存,使得變得很輕量
相反,虛擬機 經過管理程序虛擬訪問主機資源就像一個成熟的訪客操做系統。虛擬機提供環境比大多程序運行時須要更多的資源。
https://www.docker.com/products/docker-desktop
安裝完成後,查看版本
docker --version
Docker version 18.03.1-ce, build 9ee9f40
查看docker相關信息
docker info
報錯的時候使用sudo ,權限問題
查看docker程序是否可用
docker run heello-world
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world ca4f61b1923c: Pull complete Digest: sha256:ca0eeb6fb05351dfc8759c20733c91def84cb8007aa89a5bf606bc8b315b9fc7 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. ...
查看本地下載的鏡像
docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 2cb0d9787c4d 5 weeks ago 1.85kB
rabbitmq management c51d1c73d028 3 months ago 149MB
mysql 5.7 9e64176cd8a2 16 months ago 407MB
hub.c.163.com/library/mysql 5.7 9e64176cd8a2 16 months ago 407MB
learn/ping latest 584ff7a39036 2 years ago 125MB
learn/tutorial latest a7876479f1aa 5 years ago 128MB
查看正在運行的容器實例
docker container ls
上面的命令總結以下:
## List Docker CLI commands docker docker container --help
## Display Docker version and info
docker --version
docker version docker info
## Execute Docker image
docker run hello-world
## List Docker images
docker image ls
## List Docker containers (running, all, all in quiet mode)
docker container ls
docker container ls --all
docker container ls -aq
容器化使得持續集成和持續發佈變得沒有縫隙