一、Docker简介
1、概念
Docker里面有三个概念分别是:镜像,仓库,容器。
二、Docker安装
1、安装需要的安装包
命令:sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2、设置stable镜像仓库
命令: sudo yum-config-manager --add-repo
https://download.docker.com/linux/centos/docker-ce.repo
3、更新yum软件包索引
命令:sudo yum makecache fast
4、安装Docker最新版本
命令:sudo yum install docker-ce
5、启动Docker
命令:sudo systemctl start docker
6、查看Dock是否启动
命令:sudo docker run hello-world
三、Docker常用命令使用
1、拉取镜像
命令:docker pull 镜像地址
(这里以Tomcat镜像为例:
命令:Docker pull registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27)
2、查看所有镜像
命令:docker images
(这里可以看到有两个镜像,一个为上文测试是否安装成功的”hello-word”镜像,一个为刚才安装的Tomcat镜像)
3、运行镜像
命令:docker run -d -p 本机端口:容器端口 镜像名称
(-d:镜像在后台运行
-p:指定本机与容器内部交互的端口 -p是随机开放一个端口与容器内部ID映射
)
①(这里以运行Tomcat镜像为例,把本机的80端口映射到容器的8080端口
命令:docker run -d -p 80:8080
registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27
)
②我们访问一下(服务器IP)来看一下Tomcat成功启动
4、查看正在运行的容器
命令:docker ps
5、进入容器的内部
进入命令模板:docker exec -it 容器ID bash
本文中的命令:docker exec -it 59dfd62ffa08 bash
退出命令:exit
6、文件传输
①从容器到本机
命令模板:docker cp ID全称:容器文件路径 本地路径
②从本机到容器
命令模板:docker cp 本地文件路径 ID全称:容器路径
7、停止容器
命令模板:docker stop 容器ID
本文命令:docker stop 59dfd62ffa08
再来测试一下Tomcat是否关闭了。
8、删除容器
命令:docker rm 容器id
9、删除镜像
命令:docker rmi 镜像id
四、构建镜像发布自己的项目
1、创建一个文件夹(本文在/usr/local下创建Docker文件夹)
命令:mkdir Docker
2、上传War包到该文件下
命令:rz
3、创建Dockerfile文件
命令:touch Dockerfile
①编辑Dockerfile文件
命令:vim Dockerfile
②写入以下内容
#该镜像的父镜像 为 tomcat 镜像 这样我们就有了tomcat的环境
from registry.cn-hangzhou.aliyuncs.com/shuodao/tomcat-8.5.27
#复制当前文件夹下的 war包 到镜像中tomcat的webapps目录
COPY TestDocker.war /usr/tomcat/webapps
#去除容器内部中文乱码问题
ENV LANG C.UTF-8
4、构建镜像(在Dockerfile文件夹下)
①命令模板:docker build -t 镜像名称(镜像名称必须为小写):镜像版本 .
(切记最后有个点,代表Dockerfile所在目录)
命令:docker build -t docker-test:latest .
②再使用命令(docker imager)查看一下我们构建的镜像
③最后运行镜像:
命令:docker run -d -p 80:8080 docker-test
五、删除镜像和容器
1、注意
当我们需要删除容器和镜像的时候,需要注意:一定要先停到掉容器。然后删除容器再删除镜像,因为镜像启动后会产生容器,如果不先删除容器,镜像就无法删除
2、命令
删除容器:docker rm 容器id
删除镜像:docker rmi 镜像id
3、本文举例(删除docker-test)
①先查正在运行的容器
②再查正在运行的镜像
③停掉容器
命令:docker stop 容器ID
④查看所有容器(包括停止和未停止过的)
⑤删除容器
命令:docker rm 容器ID
⑥通过步骤④和⑤的图片发现docker-test已经被删除了
⑦删除镜像
命令:docker rmi 镜像ID
本文命令:docker rmi 2872aae59259
结束语
- 记录生活,分享知识!
- 本人还在不断学习中,如有问题可留言交流学习!