Docker简介
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。
运行中的这个镜像称为容器,容器启动是非常快速的。类似windows里面的ghost操作系统,安装好后什么都有了;
Docker的核心概念
docker主机(host):安装了docker主机的机器,可以是物理机也可以是虚拟机,用于执行docker守护进程和容器。
docker客户端(client):通过命令行或者其他工具连接docker主机进行通信。
docker仓库(registry):存放docker镜像的地方,保存打包好的软件镜像。
docker镜像(images):Docker 镜像是用于创建 Docker 容器的模板。
docker容器(container):容器是独立运行的一个或一组应用,也可以叫做镜像启动后的实例。
使用Docker的步骤
1、安装docker
2、再docker仓库找到这个软件对应的镜像。
3、使用docker运行这个镜像,这个镜像就会生成一个docker容器。
4、对容器的启动停止就是对软件的启动停止。
Docker的简单命令
- 安装docker :yum install -y docker
- 查看当前的docker版本:docker –version / docker version 前者相对简单,后者相对详细
- 查看当前安装的docker的详细信息:docker info
- 列出已下载的镜像:docker image ls / docker images
- 列出本机上的容器:docker container ls / docker ps / docker container ls -a / docker ps -a 前两者为列举正在运行的容器,后两者列举所有的容器包括未运行的。docker container ls -q / docker ps -q :列举简单的容器信息
- 删除镜像:docker image rm iamgeid
删除所有镜像:dicker image rm ¥(docker image ls -a -q)
检查或运行docker的镜像:docker run imageName 如果镜像存在直接运行,如果镜像不存在则会下载相应的镜像。docker run -p username/repository:tag直接运行远端指定版本的镜像
- 运行app并绑定端口:docker run -p 4000:80 imageName将容器的80端口映射到机器的4000端口
- 添加名字:docker –name myapp imageName
- 后台运行:docker run -d imageName
- 关闭容器:docker container stop containerId(containerId可以通过docker ps -a 查出相应的ID)
- 删除容器:docker container rm containerID
- 删除所有容器:docker container rm $(docker container ls -a -q)
- 登录docker:docker login
- 创建镜像:docker build -t friendlyhello
- 为镜像添加版本号:docker tag friendlyhello gordon/get-started:part2
- 发布镜像:docker push username/repository:tag