一、docker的
容器是从镜像中创建出来的虚拟实例
- 容器用来运行实例,是读写层
- 镜像用来安装程序,是只读层
1. docker的安装和基本操作
- 安装命令
yum -y update
yum install -y docker
- 启动/关闭/重启
service docker start
service docker stop
service docker restart
-
其他操作示意图
DockerFile 定义安装的程序和环境-->build 安装镜像
通过仓库的查找(search)/推送(push)/拉取(pull)安装镜像
通过打包镜像文件分发,进行进行镜像的拷贝和安装save/export
rmi 删除镜像,inspect查看镜像,images查看所有的镜像
run 运行镜像-->进入了容器的操作 inspect既可以查看镜像,也可以查看容器;
docker ps : 列出容器
2. 镜像下载安装
-
安装java镜像
docker search java
docker pull java镜像加速器DaoCloud:
http://get.daocloud.io/
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
下面这个地方一定要修改,不然无法重启docker
vim /etc/docker/daemon.json #进去去掉分工会不对的地方
查找java镜像
docker search java
速度杠杠的:
查看镜像:
-
镜像导入/导出
#导出
docker save java > /home/docker/images/java.tar.gz
#导入
docker load < /home/docker/images/java.tar.gz
#删除
docker rmi java
3. 容器启动
-
容器启动命令
docker run -it --name levijava java bash
docker run -it --name levijava -p 9000:8080 -p 9001:8085 -v /home/docker:/soft java bash
# -it 表示启动后进入当前容器
# -p 表示端口的映射,前面是宿主机,后面是服务器端口,可以映射多个端口
# -v 表示文件目录的映射,文件不能保存到宿主机目录的,而是服务器,所以需要映射
# bash 表示执行bash这种命令行
-
暂停/回复/关闭/重启
docker pause levijava #暂停
docker unpause levijava #回复
docker stop levijava #完全停止
docker start -i levijava #重启从-it 界面中退出后,容器自动停止
从容器对象中删除镜像#查看镜像
docker ps -a
#删除的必须是完全停止的
docker stop levi
#执行删除
docker rm levijava