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
容器化使得持续集成和持续发布变得没有缝隙