学习地址上菜鸟:https://www.runoob.com/docker/docker-architecture.html
1、概念:DOCKER是一个开源的应用容器引擎。
容器和镜像是DOCKER中最重要的两个概念:
- 镜像:Docker 镜像是用于创建 Docker 容器的模板。
- 容器:容器是独立运行的一个或一组应用。可以借助面向对象的思维来理解,镜像是一个类,容器一个实例。
- 仓库:仓库我们通常是指Docker Hub官方仓库。当然,既然有官方仓库,也就有私有仓库(私有仓库搭建,如果有兴趣,可以自行百度)。
2、常用命令:
#从Docker Hub(地址:https://hub.docker.com)查询镜像
docker search <镜像名字>
#从Docker Hub(地址:https://hub.docker.com)拉取镜像
docker pull <镜像名字>
#从本地(做好的镜像文件)加载镜像
docker load < /home/ubuntu/images/javaweb_0_2.tar
#查看镜像
docker images
#镜像加标签
docker tag <imageid> javaweb:0.2
#通过镜像加载容器(端口映射+启动Tomcat)
docker run -itd -p 58080:8080 <imageid> /root/run.sh
#进入容器
docker exec -it <containerid> bash
#退出容器
exit
#容器重命名
docker rename <原容器名> <新容器名>
#删除镜像
docker rmi 镜像id
#删除容器
docker rm 容器id
3、创建Tomcat容器为例
#查询Tomcat
docker search tomcat
#拉取Tomcat
docker pull tomcat
#加载Tomcat
docker docker run --name tomcat -p 58081:8080 -v $PWD/apps/demo:/usr/local/tomcat/webapps/demo -d tomcat
说明:
$PWD代表当前目录,等同于linux的shell命令pwd
-v $PWD/apps/demo:/usr/local/tomcat/webapps/demo表示将主机的$PWD/apps/demo目录映射到容器的/usr/local/tomcat/webapps/demo目录
4、如何创建镜像呢?
我们上面是拉取Docker Hub发布的镜像,那么我们如何创建一个镜像呢?通常我们有两种方式
1、使用一个基础镜像,将基础镜像加载为容器,然后在基础镜像上修改(修改配置、安装应用环境等),然后提交到镜像库。
2、写Dockerfile文件,然后编译成镜像。(其实原理也是在基础镜像上修改,只不过是将一系列的操作转换成命令执行的形式来实现。具体细节可以参考Dockerfile命令,第一个命令是FROM,意思是继承于某个基础镜像)
Dockerfile命令参考:https://www.cnblogs.com/linjiqin/p/8735230.html