1.镜像:
下载:镜像名:版本号(前提存在当前版本)
docker pull mysql:5.7
搜索:镜像名
docker search mysql
删除(没有启动过容器)
docker rmi mysql:5.7
强制删除(运行过容器,将容器一并删除)
docker rmi -f mysql:5.7
删除所有镜像($(docker images -q) 返回所有镜像的id)
docker load -i 导入的tar的镜像文件名
将镜像备份出来(默认保存到当前文件夹,以.tar格式结尾)
docker save 镜像名称:Tag -o 保存出来的文件名
2.容器:
导入已有的镜像
docker load -i 导入的tar的镜像文件名
删除容器
docker rm 容器名称|容器id 删除停止的容器
docker rm -f 容器名称|容器id 删除正在运行的容器
docker rm -f $(docker ps -aq) 删除所有容器
查看容器内服务运行的日志
docker logs 容器id | 容器名称
docker logs -f 容器id | 容器名称 实时展示日志信息
docker logs -tf 容器id | 容器名称 加时间戳实时展示日志信息
docker logs --tail 10 容器id | 容器名称 查看容器日志最后10行,数字可以自定义
查看容器内进程
docker top 容器id | 容器名称
与容器内部进行交互
docker exec -it 容器id | 容器名称 bash
操作系统与容器传输文件
从容器复制文件到操作系统: docker cp 容器id | 容器名称:容器内资源路径 操作系统中路径
从操作系统复制文件到容器:docker cp 文件 | 目录名 容器id | 容器名称:容器内资源路径
查看容器内部细节
docker inspect 容器id | 容器名称
将容器打包成一个镜像
docker commit -m "描述信息" -a "作者信息" 容器id | 容器名称 打包成的镜像名称:Tag
3.数据卷
作用
实现宿主机系统与容器之间的文件共享
使用
1. 自定义数据卷内容
docker run -d -p 8081:8080 --name tomcat -v 宿主机目录(必须绝对路径):容器内目录 镜像名称:Tag
2. 自动数据卷目录
docker run -d -p 8082:8080 --name tomcat -v nibiu:容器内目录 镜像名称:Tag
(注意:1.nibiu代表一个数据卷名字,名称可以随便写,docker在不存在时自动创建这个数据卷同时自动映射宿主机中某个目录
2.同时在启动容器时会将nibiu对应目录中全部内容复制到nibiu映射目录。)
2 .Dockerfile
2.1 作用
Dockerfile 就是用来构建dock er镜像的构建文件!里面是命令脚本!
2.2 DockerFile的指令
FROM # 基础镜像,一切从这里开始构建
MAINTAINER # 镜像是谁写的,姓名➕邮箱
RUN # 镜像构建的时候需要运行的命令
ADD # 步骤:tomcat镜像
WORKDIR # 镜像的工作目录
VOLUME # 挂载的目录
EXPOST # 保留端口配置
CMD # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT # 指定这个容器启动的时候要运行的命令,命令可以追加
ONBUILD # 当构建一个被继承DockerFile,这个时候就会运行 ONBUILD 的指令
COPY # 类似ADD ,将我们文件拷贝到镜像中
ENV # 构建的时候设置环境变量
2.3 实战Tomcat镜像
-
准备镜像文件tomcat压缩包,jdk压缩包!
-
编写dockerfile文件
FROM centos
MAINTAINER ALANTURING728937567@qq.comCOPY readme.txt /usr/local/readme.txt
ADD jdk_x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.41.tar.gz /usr/local/RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATHENV JAVA_HOME /usr/local/jdk8u275-b01
ENV CLASSPATH J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.41
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.41
ENV PATH P A T H : PATH: PATH:JAVA_HOME/bin: C A T A L I N A H O M E / l i b : CATALINA_HOME/lib: CATALINAHOME/lib:CATALINA_HOME/binEXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.41/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.41/bin/logs/catalina.out
3.将自定义的镜像上传到阿里云
- 登陆阿里云
sudo docker login --username=727427619@qq.com registry.cn-chengdu.aliyuncs.com
- 将镜像推送到Registry
sudo docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/alan_wu/test:[镜像版本号]
sudo docker push registry.cn-chengdu.aliyuncs.com/alan_wu/test:[镜像版本号]