本章介绍Docker的基本使用与常用命令,Dockaer安装参考【Application】Docker简介与安装 (一)
Docker的基本使用
Docker镜像配置
由于国内访问国外的镜像仓库(https://hub.docker.com/)docker hub非常的慢,所以国内一般使用国内docker镜像,本例介绍如何使用阿里的容器镜像加速
1、注册并登陆阿里云开发者平台,阿里云 - 开发者平台:https://dev.aliyun.com/
2、在搜索栏中搜索“容器镜像服务”,跳到容器镜像服务,点击 “创建我的容器镜像” ,然后就会来到阿里云的服务面板,点击 “镜像加速器”。
3、根据操作文档,本例使用的是CentOS,在docker安装的服务器上,修改daemon配置文件/etc/docker/daemon.json,新安装的docker没有此文件,可以自己新建一个,加入内容
{ "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"] }
4、重启docker daemon
1 sudo systemctl daemon-reload 2 sudo systemctl restart docker
Docker运行容器(运行Tomcat)
1、启动docker服务
命令:systemctl start docker
2、在Docker仓库(docker hub)中,查询Tomcat镜像
命令:docker search tomcat
参数说明:
-
- NAME: 镜像仓库源的名称
- DESCRIPTION: 镜像的描述
- OFFICIAL: 是否 docker 官方发布
- STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。
- AUTOMATED: 自动构建。
拉取镜像
3、从Docker仓库中,拉取镜像,如果要拉去指定的tag,可以去docker hub网站上查询tag,默认tag为latest
命令格式:docker pull 镜像名字[:TAG]
命令:docker pull tomcat
本例配置了阿里镜像仓库,就是用阿里镜像仓库中获取镜像
4、查看docker 镜像
命令:docker images
5、通过镜像创建容器,后台运行,且指定端口映射关系(主机端口:8888 -> Docker容器端口:8080)
命令:docker run -itd -p 8888:8080 tomcat
6、查看docker运行的容器
命令:docker ps
7、进入Tomcat容器中,查看webapps文件夹中的内容
命令:docker exec -it [容器ID] /bin/bash
容器ID为docker ps查询出来的ID
注:进入容器,可以把容器看作一个简易版的Linux环境
可以看到tomcat的webapps目录下没有任何文件
在webapps下新建一个目录ROOT目录
8、退出容器
命令:exit
9、在主机上新建一个index.html文件,内容如下:
Hello World!!!
10、将主机上的index.html文件拷贝到,容器中
命令:docker cp index.html [容器ID]:/usr/local/tomcat/webapps/ROOT/
可以再次进入容器中,查看文件是否已拷贝到容器
11、在主机上使用浏览器访问地址:http://localhost:8888/index.html
Docker镜像操作
提交镜像
命令commit :从容器创建一个新的镜像。
1、在上例的基础上,根据tomcat镜像,创建的容器已经在运行中
使用docker commit提交容器副本使之成为一个新的镜像
格式:docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]
命令:docker commit -a "H__D" -m="my tomcat with index.html" 97b202e802dc test/mytomcat:1.0
2、查看镜像
命令:docker images
3、停到原来的tomcat镜像
命令格式:docker stop 容器ID
命令:docker stop 97b202e802dc
4、根据新test/mytomcat镜像,创建tomcat 容器
命令:docker run -it -p 8080:8080 test/mytomcat:1.0
5、测试,能正常访问index界面
推送镜像
本节介绍如何将镜像推送到aliyun服务器
1、注册并登陆阿里云开发者平台,阿里云 - 开发者平台:https://dev.aliyun.com/
2、在搜索栏中搜索“容器镜像服务”,跳到容器镜像服务,创建一个镜像仓库(本地类型)
3、完成镜像仓库创建后,点击查看仓库详情,里面有详细的镜像仓库操作指南
4、登录阿里云Docker Registry
命令:docker login --username=xxxxxx@qq.com registry.cn-shenzhen.aliyuncs.com
5、将本地镜像打标签
本例测试上面提交的镜像test/mytomcat:1.0,镜像id是:0d83c2170c51
格式:docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:[镜像版本号]
命令:docker tag 0d83c2170c51 registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:1.0
6、将镜像推送到Registry
格式:docker push registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:[镜像版本号]
命令:docker push registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:1.0
7、删除本地镜像
将本地仓库的镜像registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:1.0,镜像id是:0d83c2170c51删除
命令:docker rmi -f registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:1.0
8、从Registry中拉取镜像
格式:docker pull registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:[镜像版本号]
命令:docker pull registry.cn-shenzhen.aliyuncs.com/xxxxxx/test:1.0