docker的学习之路

环境准备
linux
centos
Bitvise SSH Client

环境查看
系统内核3.10以上
[root@ccj /]# uname -r
3.10.0-514.26.2.el7.x86_64

系统版本
[root@ccj /]# cat /etc/os-release
NAME=“CentOS Linux”
VERSION=“7 (Core)”
ID=“centos”
ID_LIKE=“rhel fedora”
VERSION_ID=“7”
PRETTY_NAME=“CentOS Linux 7 (Core)”
ANSI_COLOR=“0;31”
CPE_NAME=“cpe:/o:centos:centos:7”
HOME_URL=“https://www.centos.org/”
BUG_REPORT_URL=“https://bugs.centos.org/”
CENTOS_MANTISBT_PROJECT=“CentOS-7”
CENTOS_MANTISBT_PROJECT_VERSION=“7”
REDHAT_SUPPORT_PRODUCT=“centos”
REDHAT_SUPPORT_PRODUCT_VERSION=“7”

docker 镜像加速
在这里插入图片描述

docker安装nginx
docker search nginx
在docker hub上搜索是否存在
docker pull nginx
下载最新的nginx镜像
docker images
查看所有镜像

-d表示后台运行
–name 给容器起名字
-p 宿主机端口:容器内部端口
docker run -d --name nginx01 -p 3344:80 nginx
或者
docker run -it -p 3344:80 nginx 交互式启动

docker 安装tomcat
…省略
docker run -d --name tomcat01 -p 8080:8080 tomcat
进入tomcat01的容器
docker exec -it tomcat01 /bin/bash
cp -r webapps.dist/* webapps

docker安装es
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e “discovery.type=single-node” elasticsearch:tag
tag是es的版本
测试是否成功

在这里插入图片描述

-e 环境配置的修改
在这里插入图片描述

docker常用命令
service docker start 启动docker
docker stop (container id)停止某个容器
docker stats (container id)查看容器占内存情况
docker ps 查看当前运行的docker
docker images 查看docker镜像
docker search mysql 搜索mysql的镜像
docker pull redis:版本 下载redis的镜像
docker exec -it 容器id /bin/bash 启动并进入容器
docker rmi -f 镜像名字 强制删除镜像
docker rm -f 容器名字 删除容器
docker rm $(docker ps -aq) 删除所有容器
Ctrl+p+q退出当前容器 不会停止容器
docker attach 容器id 进入容器
docker tag 镜像id name:tag 修改image名
docker inspect 容器id 查看容器详细信息

docker commit -m=“描述” -a=“作者名字” 容器id 自定义镜像名:版本 保存当前容器的状态,通过commit来提交。
docker inspect 容器id 查看容器详细情况

挂载方式一容器数据卷(容器持久化和同步操作,容器间可以数据共享)
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名

mysql
-d是后台运行 -p是端口映射 -v是挂载 -e是环境配置 --name是给容器名字
docker run -d -p 3310:3306 -v /home/mysql/data:/var/lib/mysql -v /home/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root --name mysql01 mysql:5.7

具名和匿名挂载

匿名挂载
-v /容器内路径
docker run -d -P --name nginx01 -v /etc/nginx nginx
查看所有volume的情况
docker volume ls
在这里插入图片描述
这里发现,这就是匿名挂在,在-v中只写了容器内路径,没有写容器外路径

具名挂载
docker run -d -P --name nginx -v jum-nginx:/etc/nginx nginx
查看卷信息在这里插入图片描述
查看这个卷的信息

通过-v 卷名:容器内路径在这里插入图片描述
所有docker容器内的卷,在没有指定宿主机路径的情况下都是在/var/lib/docker/volumes/xxxx/_data.
通过具名挂载,我们能更快的找到我们的一个卷,大多数情况下使用具名挂载

如何使用匿名,具名,指定路径挂载呢
-v 容器内路径 匿名挂载
-v 卷名:容器内路径 具名挂载
-v /宿主机指定路径:容器内路径 指定路径挂载

拓展

通过-v 容器内路径,容器对我们挂载出来的内容就有了限定
docker run -d -P --name nginx01 -v jum-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx01 -v jum-nginx:/etc/nginx:rw nginx
看到ro说明这个路径只能通过宿主机来操作,容器内部是无法操作的。默认是rw

Dockerfile 是用来构建docker镜像的构建文件,脚本文件
通过这个脚本可以生成镜像,镜像是一层层的,脚本命令是一个个的,每个命令对应一层。

数据卷容器,容器间的数据同步,生命周期持续到没有容器为止!
但如果持久化到了本地,那么本地数据不会删除。
在这里插入图片描述
在这里插入图片描述
–volumes-from 容器之间的连接

DockerFile
在这里插入图片描述
在这里插入图片描述

-f 文件
-t 生成的镜像的名字
在这里插入图片描述
Dockerfile的tomcat练习
创建目录在这里插入图片描述
Dockerfile是自己创建的文件
在这里插入图片描述

Dockerfile内容
ADD 压缩文件会在dockerfile build的时候自动解压
WORKDIR 是进入容器后的默认目录
ENV 是配置环境
CMD 是docker 镜像构建容器的时候执行

FROM centos
MAINTAINER ccj
COPY readme.txt /usr/local/readme.txt
ADD jdk-8u251-linux-x64.tar.gz?AuthParam=1592704342_c0d4a639e5c0421317c1fc8939c4826f /usr/local/
ADD apache-tomcat-9.0.36.tar.gz /usr/local/
RUN yum -y install vim
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_251
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.36
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.36
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

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

构建docker 镜像,因为是Dockerfile所以不需要加-f指令
docker在构建的时候会自动寻找Dockerfile文件
docker build -t tomcat02 .
在这里插入图片描述
docker启动tomcat速度慢就这么改
在这里插入图片描述
出错要看tomcat的日志文件!!!!!!

hub.docker.com
docker 登录
在这里插入图片描述
docker 上传自己的docker镜像的时候,注意镜的名字要
登录用户名/任意,即ccj12/tomcat
在这里插入图片描述
在这里插入图片描述
三个网络
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值