Docker介绍:
Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。虚拟化在计算领域指的是计算机的各种资源的虚拟化,如服务器,网络,存储等,予以抽象 转换后呈现出来,使得用户可以以比原本的组态更好的方式应用这些资源。
Docker优点
- 启动速度快,秒级
- 性能接近原声
- 内存代价小
- 硬盘资源节省
- 运行密度大,单机支持上千个容器
- 可以安全隔离不同的应用程序
容易迁移
以上优点都是相对于虚拟机来说的。总的来说,Docker容器快,对系统资源需求少,设计理念方便用户,通过Dockerfile支持灵活的自动化创建和部署机制提高工作效率。
概念
Dicker镜像
Docker镜像类似于虚拟机镜像,一个镜像可以只包含一个基本的操作系统,里面仅安装了Apache,就可以成为Apache镜像
Docker容器
Docker容器类似于一个沙箱,Docker利用容器来隔离和运行应用,容器是从镜像创建的应用运行实例。可以把容器看作一个简易版的Linux系统环境以及运行在上面的应用程序打包成的盒子。可以理解为容器是镜像所构成的实例。
Docker仓库
Docker仓库类似于代码仓库,集中存放Docker镜像的地方。
安装:
命令安装
1. sudo apt-get update
2. sudo apt-get install docker
3. sudo apt-get install docker.io
4. sudo apt-get install docker-registry
脚本安装
该脚本由官方文档提供
1. curl -fsSL get.docker.com -o get-docker.sh
2. sudo sh get-docker.sh
测试安装是否成功
docker run hello-world
镜像操作
1. 查看docker镜像:docker images
2. 查找docker镜像:docker search 镜像名
3. 获取docker镜像:docker pull 镜像名:版本 可运行不同版本镜像
4. 提交容器副本:docker commit -m 描述信息 -a 镜像作者 容器id 要创建的目标镜像名
5. 使用文件构建docker镜像: docker build -t 目标镜像名 -f 文件所在目录 镜像存放目录
6. 镜像删除:docker rmi -f 强制删除镜像
容器操作
1. Docker启动:systemctl start docker
2. Docker关闭:systemctl stop docker
3. 查看正在运行的容器:docker ps -a 列出所有容器
4. 根据镜像创建容器:docker create images_id --name 容器名
5. 运行容器:docker run -d -p 容器端口:主机端口 镜像或者容器名 -d 容器在后台运行 -p 将容器网络端口映射到主机 -v 主机目录:容器目录(将主机的目录挂载到容器的目录) -w 指定容器工作目录
6. 查看端口映射情况:docker port 容器名
7. 查看容器日志: docker logs -f 容器id -f 类似与tail -f 可以标准输出
8. 查看容器进程:docker top 容器名
9. 删除容器:docker rm 容器名
10. 进入容器:docker attach 容器id
容器连接
连接容器可以通过端口映射和docker的自带的连接系统,自带的连接系统会将多个容器连接在一起,共享连接信息,且会构成一个父子关系,父容器可查看子容器信息
1. 创建并运行容器:docker run -d -P 容器名 -P 容器端口随机映射到主机的高端口 -p 绑定到指定端口
2. 绑定到网络地址:如 docker run -d -p 127.0.0.1:5001:5000 training/webapp python app.py 默认绑定tcp端口
3. 绑定UDP端口:docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
4. 命名容器:docker -d -p --name
先这些吧!有了新的再记!