docker的使用
- 传统的容器技术:1.直接运行在操作系统内核之上的用户空间,可以让多个独立的用户空间运行在同一台宿主机上。
- 2.由于客居操作系统,只能运行在操作系统相同或相似的操作系统上,虚拟的是一个完整的操作系统增大攻击范围,不安全。
- 3.只能运行则安全性要求不是太高的隔离环境中,轻量级的沙盒,权限隔离监牢,权限隔离监牢:在一个隔离目录环境中运行进程,运行的进程被受到攻击,由于权限不足被困在所创建的目录中,无法进一步对宿主机破坏。
- docker: 现代 Linux 特性,如控件组(control group)、命名空间 (namespace)技术,容器和宿主机之间的隔离更加彻底,容器有独立的网络和存储栈,还 拥有自己的资源管理能力,使得同一台宿主机中的多个容器可以友好的共存。
- docker 的优点:1.docker 依赖于写时复制,高性能,启动快,镜像容量小,一个ubuntu才80多M,一台宿主机可以运行多个容器,充分利用资源。
-
- 职责的逻辑分类,开发人员只需要关心容器中运行的应用程序,而运维人员只需要关心如 何管理容器。Docker 设计的目的就是要加强开发人员写代码的开发环境与应用程序要部署 的生产环境一致性。
- 快捷高效的开发生命周期,让代码具有可移植性。
- docker 镜像:容器的“源代码”,用来创建容器。
- docker的用途:1加速本地开发和构建流程,使其更加高效、更加轻量化。
- 2.能够让独立的服务或应用程序在不同的环境中,得到相同的运行结果
- 3.用 Docker 创建隔离的环境来进行测试。
ubuntu 中安装docker方法1
wget -qO- https://get.docker.com | sh
启动与停止
# 启动 docker
sudo service docker start
# 停止docker
sudo service docker stop
# 重启docker
sudo service docker restart
- 查看镜像
- docker image ls
- 拉取镜像
-
docker image pull library/hello-world
- 删除镜像
- docker image rm 镜像名或者镜像id,注意删除镜像:停止容器,删除容器,然后才能删除镜像。
- 创建容器
- docker run [option] 镜像名 [向启动容器中传入的命令]
- 常用可选参数:
- -i 以交互模式运行容器。
- -t 容器启动后,分配一个伪终端。
- –name 为容器创建容器名。(容器名不能重复)
- -v 目录映射关系,(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。docker上不保存任何数据,实现宿主机和容器之间的数据传输。
- -d 守护进程,-p 端口号,-e 设置环境变量。
- docker run -it --name = myubuntu ubuntu
- docker container ls 列出本机正在运行的容器
- 列出本机所有容器,包括已经终止运行的
- docker container ls --all。
- 删除容器:docker container rm 容器名或容器id
- 将容器保存为镜像 docker commit 容器名 镜像名
- 镜像备份与迁移
- docker save -o 保存的文件名 镜像名
- 例如:docker save -o ./ubuntu.tar ubuntu