Docker学习

安装

官方文档

docker 与 虚拟机

  • “虚拟机需要数分钟启动,而Docker容器只需要50毫秒”
  • 虚拟化技术是虚拟了整套环境
  • 虚拟机缺点:资源占用多、启动慢
  • 虚拟机更擅长于彻底隔离整个运行环境。例如,云服务提供商通常采用虚拟机技术隔离不同的用户。而Docker通常用于隔离不同的应用,例如前端,后端以及数据库。

设置阿里加速器

vim /etc/docker/daemon.json

{
    "registry-mirrors":["https://ji0bqesg.mirror.aliyuncs.com"]
}

常用命令

镜像
  • 后台方式运行 -d

  • docker run hello-world

  • docker info

  • 帮助手册 docker --help

  • 查看已有镜像 docker images

  • 查看摘要 docker images --digests

  • 搜索Tomcat镜像 docker search tomcat

  • 搜索nginx镜像 docker search nginx

  • 下载nginx镜像 docker pull nginx

  • 删除镜像 docker rmi hello-world:latest

  • 强制删除镜像 docker rmi -f hello-world:latest

  • 运行镜像 docker run -it 5a069ba3df4d (5a069ba3df4d:镜像id,docker images 的 IMAGE ID)

  • 后台运行 docker run -d 镜像id

容器
  • 查看所有的容器 docker ps
  • 查看详情 docker ps -a
  • 运行容器 docker start/restart/stop 030e27e645f6
    • 030e27e645f6:容器id,docker ps -a 的 CONTAINER ID
  • 删除容器 docker rm 容器id
  • 强制停止容器docker kill 容器id
  • 进入Tomcat的bash路径 docker exec -it d77dfa1e812a /bin/bash
  • 退出容器 Ctrl + p + q
  • 退出 exit
  • 端口映射 docker run -d -p 7777:8080 --name mytomcat tomcat
  • 用已存在的容器副本制作一个新的镜像 docker commit -m=“create imag from current contrainer” -a=“qiyu(作者)” 96f43f96379d(容器ID) “tomcat002:2.0”
  • 从容器内拷贝文档到主机 docker cp 容器ID:容器内路径 主机路径

Docker

  • 镜像
  • 容器
  • 仓库
镜像
什么是镜像?
  • 文件和元数据的集合(rootfs)
  • 镜像是分层的
  • 不同的image可以共享相同的层
  • 镜像本身是只读的
数据卷
  • 数据卷类似U盘,用来保存数据的设备
  • 容器持久化、容器间数据共享
Dockerfile
Dockerfile是什么

Dockerfile 是用来构建Docker镜像的构建文件

关键字
  • FROM 基础镜像,当前新镜像是基于哪个镜像的
  • MAINTAINER 镜像维护者的姓名和邮箱地址
  • RUN 镜像构建时需要运行的命令
  • WORKDIR 容器创建后,默认在哪个目录
  • EXPOSE 当前容器暴露的端口
  • ENV 用来在构建镜像时设置的环境变量
  • ADD 将宿主机的目录下的文件copy到镜像并且ADD命令会自动解压压缩包
  • COPY 复制
  • VOLUME 容器数据卷,用于保存和持久化
  • CMD 【很少使用】指定容器启动过程中需要运行的命令,多条命令时只有最后一条生效,此外,CMD命令会被docker run 之后的参数替换。
  • ENTRYPOINT 指定容器启动过程中需要运行的命令,会把 docker run 命令的参数追加到后面
demo

docker build -f /pin_y/mydockerfile/Dockerfile -t mytomcat0009 .

FROM centos
MAINTAINER qiyu<qiyu@126.com>

COPY text.txt /usr/local/testincontainer.txt

ADD apache-tomcat-9.0.19.zip /usr/local/
ADD jdk-8u11-linux-x64.tar.gz /usr/local/
RUN yum -y install vim

ENV MYPATH /usr/local

WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.14
ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.14
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.9.14/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.14/logs/catalina.out
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值