docker

一、docker的介绍

1、为什么要使用docker?

docker交付的是代码和环境

2、容器和虚拟机

虚拟机:运行在一个操作系统里的另一个操作系统(centos),缺点:占用资源多,启动慢

容器:是一种虚拟化技术,不是一个完整版本的操作系统, 优点:占用资源少,启动快

3、什么是docker?

docker运行在容器上,是一个mini版的linux,可以使程序在不同的环境中运行

4、docker核心概念

镜像(image):安装好的环境的模板[类]

容器(Container):运行中的镜像[对象]

仓库(Registry): 保存镜像

二、 docker的安装

1、安装切换仓库地址的软件包

yum install -y yum-utils

2、切换仓库地址到阿里云

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装docker

yum -y install docker-ce

4、开启和关闭

systemctl start docker #启动

systemctl status docker #状态

systemctl stop docker #关闭

systemctl restart docker #重启docker

systemctl enable docker

5、配置镜像加速

docker的常用命令

镜像命令:

1、检索

docker search IMAGE

eg:

docker search tomcat

2、拉取

docker pull IMAGE[:TAG] (TAG版本号)

eg:

docker pull tomcat:8.5.100

3、列表

docker images

4、删除

docker rmi IMAGE[:TAG]

eg:

docker rmi tomcat:8.5.100

容器命令:

1、新建并启动

docker run [options] IMAGE[:TAG]

options说明:

-d 后台启动

--name 指定容器的名称

-p 指定端口映射 hostPost:containerPort

eg:

docker run tomcat:8.5.100 前台启动

docker run -d tomcat:8.5.100 后台启动

docker run -d --name tomcat_1 tomcat:8.5.100 后台启动tomcat_1

docker run -d --name tomcat_2 -p 8080:8080 tomcat:8.5.100

2、关闭

docker stop CONTAINER NAME

eg:

docker stop tomcat_1

3、启动

docker start CONTAINER NAME

eg:

docker start tomcat_1

4、删除

docker rm CONTAINER NAME

eg:

docker rm tomcat_1

5、列表

docker ps [-a]

6、日志

docker logs CONTAINER NAME

eg:

docker logs tomcat_2

7、与运行中的容器交互

docker exec [options] CONTAINER NAME [command]

options:

-i:与容器交互,与t连用

-t:分配伪终端,与i连用

四、数据卷

1、什么是数据卷?

宿主机和容器同步数据的目录,若目录不存在则自动创建

2、语法

docker run -v 宿主机目录:容器内目录

eg:

docker run --name c1 -id -v /root/data_host:/root/data_container centos7

五、DockerFile

1、什么是DockerFile?

用于构建 镜像的脚本文件

2、DockerFile常用命令

FROM:继承

MAINTAINER:署名

ENV:声明变量

WORKDIR:工作目录

RUN:镜像构建时执行的命令

CMD:容器启动时执行的命令

ADD:从宿主机复制文件到容器中,并能自动解压压缩文件

EXPOSE:同端口映射

3、DockerFile入门

自定义centos

编写Dockerfile

cd /usr/local/docker

vim DockerFile:

#继承centos:7

FROM centos:7

#署名

MAINTAINER mgw<mgw@126.com>

#声明变量

ENV MYPATH /usr/local

#工作目录

WORKDIR $MYPATH

#添加vim和ifconfig的支持

RUN yum -y install vim

RUN yum -y install net-tools

构建

docker build [OPTIONS] PATH

OPTIONS说明:

-f: DockerFile路径

-t: 自定义镜像名称:TAG

docker build -f DockerFile -t mycentos:1.0 .

测试

docker run -it --name mycentos mycentos:1.0

4、压缩镜像

docker save -o mycentos.1.0.rar mycentos:1.0

5、解压镜像

docker load -i mycentos.1.0.rar

6、查看镜像历史

docker history mycentos:1.0

自定义tomcat

编写DockerFile

FROM centos:7

MAINTAINER mgw<mgw@126.com>

#把java与tomcat添加到容器中

ADD jdk-8u191-linux-x64.tar.gz /usr/local/

ADD apache-tomcat-8.5.100.tar.gz /usr/local/

#安装vim编辑器

RUN yum -y install vim

#设置工作访问时候的WORKDIR路径,登录落脚点

ENV MYPATH /usr/local

WORKDIR $MYPATH

#配置java

ENV JAVA_HOME /usr/local/jdk1.8.0_191

ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-8.5.100

ENV CATALINA_BASE /usr/local/apache-tomcat-8.5.100

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

#容器运行时监听的端口

EXPOSE 8080

#启动时运行tomcat

# ENTRYPOINT ["/usr/local/apache-tomcat-8.5.100/bin/startup.sh"]

CMD /usr/local/apache-tomcat-8.5.100/bin/startup.sh && tail -F /usr/local/apache-tomcat-8.5.100/logs/catalina.out

构建并启动

docker build -f DockerFile2 -t mycentos:1.1 .

docker run -d -p 8080:8080 --name tomcat1 \

-v /usr/local/docker/tomcat/webapps/:/usr/local/apache-tomcat-8.5.100/webapps/ \

-v /usr/local/docker/tomcat/logs/:/usr/local/apache-tomcat-8.5.100/logs/ \

mycentos:1.1

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值