Docker 虚拟机架构
Docker创建的所有虚拟实例共用同一个Linux内核,对硬件占用较小,属于轻量级虚拟机。
PaaS:在Docker中安装了一些软件
SaaS:安装好系统的容器
Docker镜像与容器
容器是可运行的,镜像是不可运行的。
Centos安装Docker
更新yum再安装Docker
1 | yum -y update |
管理Docker虚拟机
1 | 启动:service docker start |
Docker虚拟机管理命令
在线安装镜像
我们可以使用search命令搜索镜像然后拉取安装,不过国外镜像下载速度慢,建议使用国内镜像仓库,如DaoCloud。
下面我们配置加速器:
在DaoCloud官网注册找到加速器页面获得指令:
1 | [root@hongshaorou ~]# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://7af8d782.m.daocloud.io |
执行的结果是在/etc/docker下增加了一个配置文件,不过多了一个 ,
,我们编辑文件将其删除。
1 | [root@hongshaorou ~]# vim /etc/docker/daemon.json |
修改之后我们的加速器就生效了,现在我们搜索一个关于java的镜像将其从镜像源拉取下来。
搜索:
1 | [root@hongshaorou ~]# docker search java |
拉取指定的镜像:
1 | [root@hongshaorou ~]# docker pull docker.io/java |
查看有哪些镜像:
1 | [root@hongshaorou ~]# docker images |
导出导入镜像
1 | 导出镜像:docker save docker.io/java > /home/java.tar.gz |
启动容器
启动镜像会创建一个运行状态的容器
启动容器并给容器命名:
1 | [root@hongshaorou ~]# docker run -it --name myjava docker.io/java bash |
启动容器并映射端口
1 | [root@hongshaorou ~]# docker run -it --name myjava -p 9000:8080 -p 9001:8085 docker.io/java bash |
启动容器并映射目录
数据一定要在容器之外保存
1 | [root@hongshaorou ~]# docker run -it --name myjava -v /home/project:/soft --privileged java bash |
暂停和停止容器
1 | 暂停容器:[root@hongshaorou ~]# docker pause myjava |
我们在容器shell中直接执行exit相当于stop容器。
删除容器
删除容器之前我们要彻底停止容器
1 | [root@hongshaorou ~]# docker stop myjava |
删除
1 | [root@hongshaorou ~]# docker rm myjava |
查看还有哪些容器
1 | [root@hongshaorou ~]# docker ps -a |