Docker命令

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镜像
  1. 准备镜像文件tomcat压缩包,jdk压缩包!

  2. 编写dockerfile文件

    FROM centos
    MAINTAINER ALANTURING728937567@qq.com

    COPY 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 $MYPATH

    ENV 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/bin

    EXPOSE 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.将自定义的镜像上传到阿里云

  1. 登陆阿里云

sudo docker login --username=727427619@qq.com registry.cn-chengdu.aliyuncs.com

  1. 将镜像推送到Registry

sudo docker tag [ImageId] registry.cn-chengdu.aliyuncs.com/alan_wu/test:[镜像版本号]

sudo docker push registry.cn-chengdu.aliyuncs.com/alan_wu/test:[镜像版本号]

3. Docker 网络
理解Docker0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值