Docker的入门学习(自己的认识)
- 传统项目的部署相对于Docker容器部署有什么劣势?
比如:我在win7的电脑中安装centos虚拟机,并在虚拟机中安装tomcat服务器,并将我的web项目丢进去. 此时就会出现这样一个问题,我项目本身不大,这就造成了浪费资源,成本高,不利于迁移以及扩展,硬件限制等. - docker的常用命令
(1)拉取镜像(比如我需要拉取tomcat)
docker pull tomcat [拉取的是最新版本的tomcat]
如果我想要指定版本的镜像,可以在后面添加冒号比如:
docker pull tomcat:8.0
(2)查看所有镜像
docker images 或者 docker image ls
(3)根据镜像创建container(后台运行,指定内部映射端口80对应外部80端口,并且命名为tomcat1)
docker run -d -p 80:80 --name tomcat1 tomcat
(4)查看当前container
docker ps
(5)比如:docker run hello-world
如果本地有hello-world,就直接创建container
如果本地没有镜像的话,就会先到远端拉取下来,保存在本地,然后进行创建container.
(6)删除镜像
docker rmi -f tomcat/imageId(此处是镜像的Id) 强制对镜像进行删除(注意:该image不能有正在运行的container)
(7)删除container
docker rm -f tomcat1/containerId(上述我将tomcat进行命名为tomcat1) 强制删除container
(8)搜索镜像
docker search tomcat
(9)停止运行中的容器
docker stop 容器的id
(10)查看停止运行的container
docker ps ‐a
(11)启动容器
docker start 容器id
(12)启动一个做了端口映射的tomcat
docker run ‐d ‐p 8888:8080 tomcat
参数说明:
‐d : 后台运行
‐p : 将主机的端口映射到容器的一个端口 主机端口:容器内部的端口
(13)查看容器的日志
docker logs container‐name/container‐id
(14)删除多个镜像
docker rmi -f 镜像名A:tag 镜像名B:tag
(15)删除全部镜像
docker rmi -f $(docker images -aq)
(16)docker中run和start的区别
docker run 后面指定的是一个镜像
而docker start指定的是一个容器
docker run是利用镜像生成容器,并启动容器,而docker start是启动一个之前生成过的容器