docker学习

docker镜像加速器
1、访问阿里云主页:aliyun.com
2、搜索“容器镜像服务”
3、点击镜像加速有具体操作文档

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’ //默认加载文档
{
“registry-mirrors”: [“https://covtb9ad.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

——————————
docker基本概念
1、以计算机为例:物理机-》docker-》应用程序
2、dockerclient->restApi->dockerDeamon
3、docker镜像,docker容器,registry
4、基本执行流程:docker build ;docker pull;docker run

docker常用命令
docker pull 镜像名<:tag> //拉取镜像没有写tag,就会用latest使用的最多的
docker run 镜像名<:tag> //运行创建的的镜像
docker ps //查看运行的镜像
docker rm <-f> 容器id //删除容器
docker rmi <-f> 镜像名<:tag> //删除镜像
查看有哪些可以用的dockerImages 就去dockers中央仓库(地址:hub.docker.com)找

————————
docker宿主机与容器通信
docker run tomcat -p 8000:8080 ----前面是宿主机端口:后面是docker容器中应用的端口

查看容器内部命令:docker exec -it 容器id /bin/bash
创建镜像文件:
docker build - t 机构/镜像名<:tags> Dockerfile目录
tags如果不写,默认least

Dockerfile常用命令:
FROM tomcat:latest 表示从哪个镜像开始,用于在原有镜像上进行扩展
MAINTAINER mashibing.com //表示哪个机构维护

表示切换工作目录,不存在则创建

#相当于 cd /usr/local/tomcat/webapps
WORKIR /usr/local/tomcat/webapps //设置工作目录
#复制目录小的所有文件到容器目录下
ADD docker-web ./docker-web 将指定文件放到指定目录下

docker build -t 公司网站/镜像名<:tag> Dockerfile目录 .代表当前目录

运行镜像:
docker run -d -p 8001:8080 mashibing.com/mywebapp:1.0
——————————————————————————————————————
镜像分层概念:就是构建docker镜像是,每执行一个命令就会形成一个临时
镜像,每次都根据,临时容器,镜像进行叠加的
——————————————————————————————
FROM-基于基准镜像
FROM centos //制作基准镜像(用官方提供的基本镜像)
LABEL & MAINTAINER - 信息说明
WORKDIR -设置工作目录(会自动创建文件)(尽量使用绝对路径)
ADD &-COPY-复制文件
ADD hello / #复制到根路径下
ADD test.tar.gz / #添加更目录并解压
ADD 除了复制,还具备添加远程文件功能
ENV -设置环境常量
————————————————
RUN &CMD&ENTRYPOINT执行时间不同,
RUN是创建镜像时执行
CMD&ENTRYPOINT 是容器启动时运行的
RUN 运行命令有两种格式
1、RUN yum install -y vim #Shell命令格式
2、RUN [“yum”,“install”,"-y",“vim”] Exec命令格式
采用shell命令格式运行命令会创建子线程,退出后进入shall父进程,官方推荐Exec

ENTERPOIT命令是在容器启动时,进行运行,如果有多个ENTRERPOINT命令
只会运行最后一个

CMD是默认,容器运行时命令,也是在容器运行时如果有多个CMD命令
只会运行最后一个,进行使用,CMD命令
ENTRERPOINT一定会执行,CMD不一定会执行

如果在RUN命令后添加了CMD命令,则dockerfile中的CMD命令不会被执行
如果上下两个命令是ENTERPOINT和CMD命令则,两行合并到一起运行
就可以接收可变参数

实际操作
1、在工作中直接,访问官方镜像仓库,hub_docker.com,就可以拉取镜像
docker pull redis
2、准备文件:1、redis原码包(redis-4.14.tar.gz和redis启动配置redis-7000.conf)
具体步骤
编写dockerfile
FROM centos #docker提供的基本镜像
RUN [“yum”,“install”,"-y",“gcc”,“gcc-c++”,“net-tools”,“make”]
WORKDIR /usr/local
ADD redis-4.0.14.tar.gz
WORKDIR /usr/local/redis-4.0.14/src
RUN make && maker install
WORKDIR /usr/local/redis-4.0.14
ADD redis-7000.conf
EXPOSE 7000 #对外暴露端口7000
CMD [“redis-server”,“redis-7000.conf”] #启动redis用配置文件redis-7000.conf
————————————————————————————————————

容器间单向通信
创建容器后,就会有自己的虚拟IP

1、启动容器,增加容器的名称,docker run -d --name web tomcat
2、启动默认容器centos时,需要添加/bin/bash :docker run -d --name database -it
centos /bin/bash (centos默认是退出的)
3、容器之间是天天然互通的,如果需要绑定link名字:docker run -d --name web --ling
database tomcat
4、查看docker元数据(包括IP): docker inspect


双向通信
—网桥功能:1、连接外部的的物理网卡,与外界通信
2、容器网络分组,网桥就是创建一个虚拟网卡
查看网桥命令
docker network ls
创建网桥
docker network create -d bridge my-bridge
网桥和容器绑定
docker network connect my-bridge web
————————————————————————————
数据共享:volume
1、通过设置-v挂载宿主机目录
格式:docker run --name 容器名 -v 宿主机名:容器内挂载路径 镜像名称
示例:
docker run --name t1 -v /usr/webapps:/usr/local/tomcat/webapp tomcat

docker生命周期

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值