Docker学习
创始人
2024-05-26 02:21:52
0

Docker学习

  • Docker概述

  • Docker安装

  • Docker命令

  • Docker镜像

  • Docker的数据卷

  • DockerFile

  • Docker网络原理

  • IDEA整合Docker

  • 集群-Docker Compose

  • Docker Swarm

  • CI\CD jenkins

Docker概述

安装教程:(https://docs.docker.com/engine/install/centos/)

文档(十分详细):(https://docs.docker.com/)

仓库地址:(https://hub.docker.com/signup)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vs02pBk1-1668560795178)(D:\file\file\Docker学习\images\image-20210803141033502.png)]

Docker的出现。

一款产品有两个环境:开发和上线

发布以一个项目(jar+(redis,mysql,jdk,es,hadoop)),项目不能带上环境打包。环境配置麻烦,不能跨平台。

开发打包部署上线,一套流程做完。

Java —jar(环境)—打包项目带上环境(镜像)—(docker仓库:商店)—下载我们发布的镜像,直接运行即可

Docker给以上的问题提出了解决方案!

Docker通过隔离机制,隔离不同的应用,可以将服务器利用到极致!

docker历史(容器技术)

1.受欢迎的原因:十分轻巧

在容器技术出现之前都是使用虚拟机技术

虚拟机:使用一个软件,通过这个软件可以虚拟出来一台或者多台电脑。

docker容器技术,也是一种虚拟化技术。

docker能做什么?

虚拟机技术的缺点:
  1. 资源占用多
  2. 冗余步骤多
  3. 启动很慢
容器化技术:

容器化技术不是模拟的一个完整的操作系统

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LtjJtSWo-1668560795179)(D:\file\file\Docker学习\images\image-20210803144200692.png)]

比较Docker和虚拟机的不同:

  • 传统的虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个操作者系统上安装和运行软件
  • 容器内的应用直接运行在宿主机上,容器时没有自己的内核的,也没有虚拟我们的硬件,所以轻便。
  • 每个容器之间时隔离的,每个容器内都有一个自己的文件系统,互不影响。
devops(开发,运维)

应用更快的交付和部署

更快捷的审计和扩缩容

更简单的系统运维

更高效的计算资源利用

Docker时内核级别的虚拟化,可以在一个物理机上运行很多的容器实例,服务器的性能可以被压榨到极致!

Docker安装

Docker组成:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sg8P5yd7-1668560795179)(D:\file\file\Docker学习\images\image-20210803144810955.png)]

镜像:

一个docker镜像好比一个模板,可以通过这个模板来创建容器服务,tomcat镜像===>run===>tomcat01容器(提供服务器)

通过这个镜像看可以创建多个容器(最终服务运行或者运行就是在容器中的)。

仓库:

就是存放镜像的地方。仓库分为共有仓库和私有仓库。DockerHub(默认时国外的)

阿里云。。。都有容器容器服务(可以配置镜像加速!)

容器:

Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。

启动,停止,删除,基本命令

目前就可以把这个容器理解为就是一个建议的Linux系统

安装

1.环境准备:

  • 需要会Linux基础
  • CentOs
  • 使用Xshell连接远程服务器进行操作

2.环境查看

系统内核:

[root@iZ2zehsabv9z6btgwpsyhgZ ~]# uname -r
3.10.0-957.21.3.el7.x86_64

系统版本:

[root@iZ2zehsabv9z6btgwpsyhgZ ~]# 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”

安装:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tVI26y9U-1668560795179)(D:\file\file\Docker学习\images\image-20210803151558979.png)]

步骤:

#1.   卸载旧版本
执行下面命令
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine#2.	安装需要的安装包
执行命令:
yum install -y yum-utils#3.	设置镜像的仓库-默认是国外的,很慢。
yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo#最好使用国内的-阿里云的
yum-config-manager \--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo#4.	更新docker软件包的索引
yum makecache fast
#5.	安装docker引擎-docker-ce是社区,ee是企业版
yum install docker-ce docker-ce-cli containerd.io
#6.启动docker
systemctl start docker
#7查看是否安装成功
docker version
#8.测试hello-world
docker run hello-world
#9.查看dockers下载的holle world镜像
docker images
#[root@iZ2zehsabv9z6btgwpsyhgZ ~]# docker images
#REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
#redis         latest    aa4d65e670d6   10 days ago    105MB
#hello-world   latest    d1165f221234   5 months ago   13.3kB

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-giPlXPqn-1668560795180)(D:\file\file\Docker学习\images\image-20210803160327084.png)]

了解:
#1.卸载docker依赖
yum remove docker-ce docker-ce-cli contain.io 
#2.卸载docker环境资源rm -rf /var/lib/docker
#/var/lib/docker 的docker默认资源路径

阿里云镜像加速配置:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uMI9657W-1668560795180)(D:\file\file\Docker学习\images\image-20210803162924480.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-azbWQ8Ih-1668560795181)(D:\file\file\Docker学习\images\image-20210803162825378.png)]

配置使用:4步

sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://2qs6lhsp.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reloadsudo systemctl restart docker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQye22jY-1668560795181)(D:\file\file\Docker学习\images\image-20210803163549089.png)]

底层原理

Docker是怎么工作的?

Docker是一个Client-server结构的系统,Docker的守护进程运行在主机上,通过socket客户端访问。

Docker Server接受到Docker-client的指令,就会执行这个命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DZ4fyR8G-1668560795181)(D:\file\file\Docker学习\images\image-20210803163952459.png)]

Docker什么比vm快?

1.Docker有着比虚拟机更少的抽象层

2.docker利用的时宿主机的内核,vm需要的是Guest OS,分钟级别的启动,而docker是利用宿主机的操作系统,省略了这个复杂的过程,新建容器的过程是秒级的

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1dbm6tcX-1668560795182)(D:\file\file\Docker学习\images\image-20210803164528277.png)]

Docker常用命令

帮助命令

docker version #显示docker 的版本信息
docker info #显示docker的系统信息 ,包括镜像和容器的数量
docker 命令 --help #万能命令
systemctl start docker #重启docker

帮助文档地址:(https://docs.docker.com/reference/)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iPtukFMC-1668560795182)(D:\file\file\Docker学习\images\image-20210803165917261.png)]

镜像命令

  1. docker images
[root@iZ2zehsabv9z6btgwpsyhgZ ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
redis         latest    aa4d65e670d6   10 days ago    105MB
hello-world   latest    d1165f221234   5 months ago   13.3kB#解释
REPOSITORY:镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像的id
CREATED:镜像的创建时间
SIZE:镜像的大小
#常用可选项-a, --all             #列出所有镜像-q, --quiet          #只显示镜像的id

2.docker search #搜索镜像的命令,和在dockerHub网页上搜索是一样的。
如: docker search mysql

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0kFnEBzA-1668560795182)(D:\file\file\Docker学习\images\image-20210803171038304.png)]

#可选项
-f, --filter filter   #过滤操作
#如:--filter=STARS=3000 这个搜索出来的镜像就是stars大于3000的
#[root@iZ2zehsabv9z6btgwpsyhgZ ~]# docker search mysql --filter=STARS=3000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   11205     [OK]       
mariadb   MariaDB Server is a high performing open sou…   4259      [OK]  

3.docker pull 下载镜像

#docker pull 镜像名[:tag](指定版本,不然下载的都是最新版)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FCTmnOSQ-1668560795183)(D:\file\file\Docker学习\images\image-20210803172451929.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJGVlkIO-1668560795183)(D:\file\file\Docker学习\images\image-20210803172530690.png)]

docker rmi 删除镜像

#删除指定镜像
[root@iZ2zehsabv9z6btgwpsyhgZ ~]# docker rmi -f 镜像id1
[root@iZ2zehsabv9z6btgwpsyhgZ ~]# docker rmi -f c60d96bd2b77
#批量删除镜像多个镜像 
[root@iZ2zehsabv9z6btgwpsyhgZ ~]# docker rmi -f 镜像id1 镜像id2  镜像id3 
[root@iZ2zehsabv9z6btgwpsyhgZ ~]# docker rmi -f $(docker images -aq) #删除所有镜像

容器命令

说明:有了镜像才可以创建容器,Linux,下载一个centOS镜像来测试学习

docker pull centos

新建容器并启动

1.docker run[可选参数] 镜像名

#参数说明
--name="Name" 容器名字 tomcat01 tomcat02,用来区分容器
-d            后台方式运行
-it           使用交互方式运行,进入容器查看内容
-p            指定容器的端口 -p ip:主机端口:容器端口-p 主机端口:容器端口(常用)-p 容器端口容器端口-P   随机指定端口
#启动并进入容器
[root@rookieWRL ~]# docker run -it centos /bin/bash #“rookieWRL”是我的服务器主机名
[root@7408b6254dde /]#  #“7408b6254dde”是容器id
检验:
[root@rookieWRL ~]# docker run -it centos /bin/bash #启动容器
[root@3fcaef4607bc /]# [root@rookieWRL ~]# docker ps   #查看当前在运行的容器(docker ps)需要切换到当前主机环境中才可以执行 -> 容器不停止退出(按ctrl+P+Q快捷键) 
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
3fcaef4607bc   centos    "/bin/bash"   14 seconds ago   Up 13 seconds             inspiring_satoshi[root@rookieWRL ~]# docker run -it centos /bin/bash
[root@ca140cb4cb87 /]# ls #查看容器内的centos 内部的centos和外部的没有任何关系,并且内部的centos有很多命令都不是完善的!
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

2.exit #退出容器到主机

3.docker ps #查看当前在运行的容器

-a #列出当前正在运行的容器+带出历史运行过的容器
-n=? #显示最近创建的容器
-q #只显示容器的id

4.退出容器

1.exit #直接退出容器
2.ctrl+P+Q快捷键 #容器不停止退出

5.删除容器

docker rm #删除删除一个或多个指定的容器 不能删除一个在运行的容器
docker rm -f #删通过 SIGKILL 信号强制删除一个运行中的容器。
docker rm $(docker ps -a -q) #删除所有已经停止的容器
docker ps -a -q|xargs docker rm #删除所有的容器
docker container prune #清理所有处于终止状态的容器

6.启动和停止容器

docker start #容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制停止当前容器

其他常用命令

1.后台启动容器

# 命令 docker run -d 镜像名
docker run  -d centos
**********
#问题:docker ps 发现centos 停止了
#常见的坑:docker容器使用后台运行,就必须要一个前要运行,docker 发现没有应用就会自动停止
#nignx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了

2.查看日志命令

命令:docker logs -tf --tail 容器id#自己写一段shell脚本
docker run -d centos /bin.sh -c "while true;do echo rookieWRL;sleep 1;done"#显示日志
-tf
--tail number(要显示的日志条数)docker logs -tf --tail 10([日志条数]) 容器id

3.查看容器中的进程信息ps

命令:dockers top 容器id
[root@rookieWRL ~]# docker top 6d3671f6e27b
UID                 PID                 PPID                C                   STIME               TTY     
root                8099                8081                0                   17:06               pts/0   

4.查看镜像的元数据

命令:docker inspect 容器id
[root@rookieWRL ~]# docker inspect 6d3671f6e27
[{"Id": "6d3671f6e27b9f7725763d51dc081293de63ca834ee37ceaa83f354b01b87c8e","Created": "2021-08-04T09:06:51.976114719Z","Path": "/bin/bash","Args": [],"State": {"Status": "running","Running": true,"Paused": false,"Restarting": false,"OOMKilled": false,"Dead": false,"Pid": 8099,"ExitCode": 0,"Error": "","StartedAt": "2021-08-04T09:06:52.390489038Z","FinishedAt": "0001-01-01T00:00:00Z"},"Image": "sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55","ResolvConfPath": "/var/lib/docker/containers/6d3671f6e27b9f7725763d51dc081293de63ca834ee37ceaa83f354b01b87c8e/resolv.conf","HostnamePath": "/var/lib/docker/containers/6d3671f6e27b9f7725763d51dc081293de63ca834ee37ceaa83f354b01b87c8e/hostname","HostsPath": "/var/lib/docker/containers/6d3671f6e27b9f7725763d51dc081293de63ca834ee37ceaa83f354b01b87c8e/hosts","LogPath": "/var/lib/docker/containers/6d3671f6e27b9f7725763d51dc081293de63ca834ee37ceaa83f354b01b87c8e/6d3671f6e27b9f7725763d51dc081293de63ca834ee37ceaa83f354b01b87c8e-json.log","Name": "/brave_haslett","RestartCount": 0,"Driver": "overlay2","Platform": "linux","MountLabel": "","ProcessLabel": "","AppArmorProfile": "","ExecIDs": null,"HostConfig": {"Binds": null,"ContainerIDFile": "","LogConfig": {"Type": "json-file","Config": {}},"NetworkMode": "default","PortBindings": {},"RestartPolicy": {"Name": "no","MaximumRetryCount": 0},"AutoRemove": false,"VolumeDriver": "","VolumesFrom": null,"CapAdd": null,"CapDrop": null,"CgroupnsMode": "host","Dns": [],"DnsOptions": [],"DnsSearch": [],"ExtraHosts": null,"GroupAdd": null,"IpcMode": "private","Cgroup": "","Links": null,"OomScoreAdj": 0,"PidMode": "","Privileged": false,"PublishAllPorts": false,"ReadonlyRootfs": false,"SecurityOpt": null,"UTSMode": "","UsernsMode": "","ShmSize": 67108864,"Runtime": "runc","ConsoleSize": [0,0],"Isolation": "","CpuShares": 0,"Memory": 0,"NanoCpus": 0,"CgroupParent": "","BlkioWeight": 0,"BlkioWeightDevice": [],"BlkioDeviceReadBps": null,"BlkioDeviceWriteBps": null,"BlkioDeviceReadIOps": null,"BlkioDeviceWriteIOps": null,"CpuPeriod": 0,"CpuQuota": 0,"CpuRealtimePeriod": 0,"CpuRealtimeRuntime": 0,"CpusetCpus": "","CpusetMems": "","Devices": [],"DeviceCgroupRules": null,"DeviceRequests": null,"KernelMemory": 0,"KernelMemoryTCP": 0,"MemoryReservation": 0,"MemorySwap": 0,"MemorySwappiness": null,"OomKillDisable": false,"PidsLimit": null,"Ulimits": null,"CpuCount": 0,"CpuPercent": 0,"IOMaximumIOps": 0,"IOMaximumBandwidth": 0,"MaskedPaths": ["/proc/asound","/proc/acpi","/proc/kcore","/proc/keys","/proc/latency_stats","/proc/timer_list","/proc/timer_stats","/proc/sched_debug","/proc/scsi","/sys/firmware"],"ReadonlyPaths": ["/proc/bus","/proc/fs","/proc/irq","/proc/sys","/proc/sysrq-trigger"]},"GraphDriver": {"Data": {"LowerDir": "/var/lib/docker/overlay2/8de9eeed955194496313f97bb0d54ba0c13f9787b8fae4e8ba1a07be03c014da-init/diff:/var/lib/docker/overlay2/e4b54ef4dd05eda469391646d67d0fbd65d2c38fc0bb46821737fd238ed66345/diff","MergedDir": "/var/lib/docker/overlay2/8de9eeed955194496313f97bb0d54ba0c13f9787b8fae4e8ba1a07be03c014da/merged","UpperDir": "/var/lib/docker/overlay2/8de9eeed955194496313f97bb0d54ba0c13f9787b8fae4e8ba1a07be03c014da/diff","WorkDir": "/var/lib/docker/overlay2/8de9eeed955194496313f97bb0d54ba0c13f9787b8fae4e8ba1a07be03c014da/work"},"Name": "overlay2"},"Mounts": [],"Config": {"Hostname": "6d3671f6e27b","Domainname": "","User": "","AttachStdin": true,"AttachStdout": true,"AttachStderr": true,"Tty": true,"OpenStdin": true,"StdinOnce": true,"Env": ["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd": ["/bin/bash"],"Image": "centos","Volumes": null,"WorkingDir": "","Entrypoint": null,"OnBuild": null,"Labels": {"org.label-schema.build-date": "20201204","org.label-schema.license": "GPLv2","org.label-schema.name": "CentOS Base Image","org.label-schema.schema-version": "1.0","org.label-schema.vendor": "CentOS"}},"NetworkSettings": {"Bridge": "","SandboxID": "5e0af768a5e4a8493eb2dc9c889592eb89dea09ad3447ce0cb6528f5731ab39e","HairpinMode": false,"LinkLocalIPv6Address": "","LinkLocalIPv6PrefixLen": 0,"Ports": {},"SandboxKey": "/var/run/docker/netns/5e0af768a5e4","SecondaryIPAddresses": null,"SecondaryIPv6Addresses": null,"EndpointID": "622da14a19c4f78294f0c7cb08870985bec3694ec56bdcdb1e0f63b4e4f0da27","Gateway": "172.17.0.1","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"IPAddress": "172.17.0.3","IPPrefixLen": 16,"IPv6Gateway": "","MacAddress": "02:42:ac:11:00:03","Networks": {"bridge": {"IPAMConfig": null,"Links": null,"Aliases": null,"NetworkID": "52610b926c5e1219293b38a25dba6e1fe3ceb26a0b26b6318f091a1e5617a171","EndpointID": "622da14a19c4f78294f0c7cb08870985bec3694ec56bdcdb1e0f63b4e4f0da27","Gateway": "172.17.0.1","IPAddress": "172.17.0.3","IPPrefixLen": 16,"IPv6Gateway": "","GlobalIPv6Address": "","GlobalIPv6PrefixLen": 0,"MacAddress": "02:42:ac:11:00:03","DriverOpts": null}}}}
]

5.进入当前正在运行的容器

#通常我们的容器都是i使用后台方式运行的,需要进入容器,修改一些配置
#命令
docker exec -it 容器id shell命令[root@rookieWRL ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
6d3671f6e27b   centos    "/bin/bash"   16 minutes ago   Up 16 minutes             brave_haslett
3fcaef4607bc   centos    "/bin/bash"   2 hours ago      Up 2 hours                inspiring_satoshi
[root@rookieWRL ~]# docker exec -it 6d3671f6e27b /bin/bash
[root@6d3671f6e27b /]# ls
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@6d3671f6e27b /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 09:06 pts/0    00:00:00 /bin/bash
root        16     0  0 09:23 pts/1    00:00:00 /bin/bash
root        31    16  0 09:24 pts/1    00:00:00 ps -ef
#方式二
命令:docker attach 容器id
正在执行当前代码#docker exec 进入容器后并开启一个新的终端,可以在里面操作(常用)
#docker attach 进入容器正在执行的终端,不会启动新的进程

6.从容器内拷贝文件到主机上

命令:docker cp 容器id:容器内路径 目的主机路径[root@rookieWRL ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
6d3671f6e27b   centos    "/bin/bash"   21 minutes ago   Up 21 minutes             brave_haslett
3fcaef4607bc   centos    "/bin/bash"   2 hours ago      Up 2 hours                inspiring_satoshi
[root@rookieWRL ~]# docker attch 6d3671f6e27b 
docker: 'attch' is not a docker command.
See 'docker --help'
[root@rookieWRL ~]# docker attach 6d3671f6e27b 
[root@6d3671f6e27b /]# cd /home
[root@6d3671f6e27b home]# touch cpfile.txt
[root@6d3671f6e27b home]# ls
cpfile.txt
[root@6d3671f6e27b home]# exit                        
exit
[root@rookieWRL ~]# cd /home
[root@rookieWRL home]# ls
redis  www
[root@rookieWRL home]# docker ps 6d3671f6e27b:/home/cpfile.txt/home
"docker ps" accepts no arguments.
See 'docker ps --help'.Usage:  docker ps [OPTIONS]List containers
[root@rookieWRL home]# docker cp 6d3671f6e27b:/home/cpfile.txt/home
"docker cp" requires exactly 2 arguments.
See 'docker cp --help'.Usage:  docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATHCopy files/folders between a container and the local filesystem
[root@rookieWRL home]# docker cp 6d3671f6e27b:/home/cpfile.txt /home
[root@rookieWRL home]# ls
cpfile.txt  redis  www#拷贝是一个手动过程,未来我们使用-v卷的技术可以实现,自动同步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pAjacjxH-1668560795184)(D:\file\file\Docker学习\images\image-20210804174133045.png)]

7.部署nginx

#1.搜索镜像:
[root@rookieWRL ~]# docker search nginx
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                             Official build of Nginx.                        15262     [OK]       
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   2054                 [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   815                  [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   228                  
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   150                  
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rtmp…   137                  [OK]
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        127                  [OK]
alfg/nginx-rtmp                   NGINX, nginx-rtmp-module and FFmpeg from sou…   103                  [OK]
jasonrivers/nginx-rtmp            Docker images to host RTMP streams using NGI…   92                   [OK]
nginxdemos/hello                  NGINX webserver that serves a simple page co…   70                   [OK]
privatebin/nginx-fpm-alpine       PrivateBin running on an Nginx, php-fpm & Al…   56                   [OK]
nginx/nginx-ingress               NGINX and  NGINX Plus Ingress Controllers fo…   55                   
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  46                   
staticfloat/nginx-certbot         Opinionated setup for automatic TLS certs lo…   24                   [OK]
schmunk42/nginx-redirect          A very simple container to redirect HTTP tra…   19                   [OK]
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter for NGINX and NGIN…   19                   
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   15                   
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   13                   
raulr/nginx-wordpress             Nginx front-end for the official wordpress:f…   13                   [OK]
bitwarden/nginx                   The Bitwarden nginx web server acting as a r…   11                   
flashspys/nginx-static            Super Lightweight Nginx Image                   10                   [OK]
mailu/nginx                       Mailu nginx frontend                            9                    [OK]
sophos/nginx-vts-exporter         Simple server that scrapes Nginx vts stats a…   7                    [OK]
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          2                    [OK]
wodby/nginx                       Generic nginx                                   1                    [OK]
#2.下载镜像:
[root@rookieWRL ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
33847f680f63: Already exists 
dbb907d5159d: Pull complete 
8a268f30c42a: Pull complete 
b10cf527a02d: Pull complete 
c90b090c213b: Pull complete 
1f41b2f2bf94: Pull complete 
Digest: sha256:8f335768880da6baf72b70c701002b45f4932acae8d574dedfddaf967fc3ac90
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
#3.查看镜像是否下载成功
[root@rookieWRL ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
redis         latest    aa4d65e670d6   12 days ago    105MB
nginx         latest    08b152afcfae   13 days ago    133MB
hello-world   latest    d1165f221234   5 months ago   13.3kB
centos        latest    300e315adb2f   7 months ago   209MB#4.运行容器
-d 后台运行
--name 给容器命名
-p 宿主机端口,容器内端口映射
[root@rookieWRL ~]# docker run -d --name nginx01 -p 3344:80 nginx
4f5f39163906c9aeb09c8c829cb6f3a3af1ba874bc95830b6f1a2f1a4470e9c4
#5.查看正在运行的容器
[root@rookieWRL ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                  NAMES
4f5f39163906   nginx     "/docker-entrypoint.…"   8 seconds ago   Up 7 seconds   0.0.0.0:3344->80/tcp   nginx01
3fcaef4607bc   centos    "/bin/bash"              6 hours ago     Up 6 hours                            inspiring_satoshi
#6测试接口-访问3344端口-curl命令可以直接在终端进行测试
[root@rookieWRL ~]# curl localhost:3344#进入容器
[root@rookieWRL ~]# docker exec -it nginx01 /bin/bash
#查看nginx相关文件的位置
root@4f5f39163906:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
#查看nignx相关的配置文件
root@4f5f39163906:/# cd /etc/nginx
root@4f5f39163906:/etc/nginx# ls
conf.d		mime.types  nginx.conf	 uwsgi_params
fastcgi_params	modules     scgi_params

端口暴露的概念

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3bHNFJXB-1668560795184)(D:\file\file\Docker学习\images\image-20210804215628750.png)]

怎么在容器外部修改容器内的nginx配置文件?–数据卷的技术

8.部署tomcat

#官方启动方法:我们之前的启动都是是后台的,用完停止容器之后,容器还是可以查到的,docker run -it --rm 一般用来测试,用完及删除,用完这个容器就会删除这个容器
$ docker run -it --rm tomcat:9.0#下载启动
docker pull tomcat#启动tomcat
[root@rookieWRL ~]# docker run -d -p 3355:8080 --name tomcat01 tomcat
2e9abd39f97011c61310c19e2854db862c1b6ed44c43f30af673c69cb47496fb

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NGv8kC2I-1668560795185)(D:\file\file\Docker学习\images\image-20210807181814870.png)]

#测试外部主机访问该tomcat
问题:没有网站,所以找不到页面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-p7U3f0sy-1668560795185)(D:\file\file\Docker学习\images\image-20210807182358109.png)]

#进入容器
[root@rookieWRL ~]# docker exec -it tomcat01 /bin/bash
root@2e9abd39f970:/usr/local/tomcat# ls
BUILDING.txt	 NOTICE		RUNNING.txt  lib	     temp	   work
CONTRIBUTING.md  README.md	bin	     logs	     webapps
LICENSE		 RELEASE-NOTES	conf	     native-jni-lib  webapps.dist
root@2e9abd39f970:/usr/local/tomcat# ls -al
total 176
drwxr-xr-x 1 root root  4096 Jul 23 09:46 .
drwxr-xr-x 1 root root  4096 Aug  7 10:15 ..
-rw-r--r-- 1 root root 18949 Jun 28 08:46 BUILDING.txt
-rw-r--r-- 1 root root  6210 Jun 28 08:46 CONTRIBUTING.md
-rw-r--r-- 1 root root 57092 Jun 28 08:46 LICENSE
-rw-r--r-- 1 root root  2333 Jun 28 08:46 NOTICE
-rw-r--r-- 1 root root  3372 Jun 28 08:46 README.md
-rw-r--r-- 1 root root  6898 Jun 28 08:46 RELEASE-NOTES
-rw-r--r-- 1 root root 16507 Jun 28 08:46 RUNNING.txt
drwxr-xr-x 2 root root  4096 Jul 23 09:46 bin
drwxr-xr-x 1 root root  4096 Aug  7 10:15 conf
drwxr-xr-x 2 root root  4096 Jul 23 09:46 lib
drwxrwxrwx 1 root root  4096 Aug  7 10:15 logs
drwxr-xr-x 2 root root  4096 Jul 23 09:46 native-jni-lib
drwxrwxrwx 2 root root  4096 Jul 23 09:46 temp
drwxr-xr-x 2 root root  4096 Jul 23 09:46 webapps
drwxr-xr-x 7 root root  4096 Jun 28 08:46 webapps.dist
drwxrwxrwx 2 root root  4096 Jun 28 08:46 work
root@2e9abd39f970:/usr/local/tomcat# cd webapps
root@2e9abd39f970:/usr/local/tomcat/webapps# ls
root@2e9abd39f970:/usr/local/tomcat/webapps# #发现问题:发现这个容器是被阉割过的
#1.Linux命令少了
#2.没有webapps。阿里云的原因,默认是最小的镜像,所以不必要的都去除了
#保证了最小的可运行环境
#进入webapps.dist文件夹,这个是它的输出目录 ,然后把里面的内容拷贝到webapps里面
root@2e9abd39f970:/usr/local/tomcat# cd webapps.dist
root@2e9abd39f970:/usr/local/tomcat/webapps.dist# ls
ROOT  docs  examples  host-manager  manager
root@2e9abd39f970:/usr/local/tomcat/webapps.dist# cd ..
root@2e9abd39f970:/usr/local/tomcat# cp webapps.dist/* webapps
cp: -r not specified; omitting directory 'webapps.dist/ROOT'
cp: -r not specified; omitting directory 'webapps.dist/docs'
cp: -r not specified; omitting directory 'webapps.dist/examples'
cp: -r not specified; omitting directory 'webapps.dist/host-manager'
cp: -r not specified; omitting directory 'webapps.dist/manager'
root@2e9abd39f970:/usr/local/tomcat# cd webapps
root@2e9abd39f970:/usr/local/tomcat/webapps# ls
root@2e9abd39f970:/usr/local/tomcat/webapps# cd ..
root@2e9abd39f970:/usr/local/tomcat# cp -r webapps.dist/* webapps
root@2e9abd39f970:/usr/local/tomcat# cd webapps
root@2e9abd39f970:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager
#拷贝过来之后就可以访问到了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-32iSMZwb-1668560795185)(D:\file\file\Docker学习\images\image-20210807190403529.png)]

怎么在容器外部提供一个映射路径,webapps,我们在外部放置项目,就自动同步到内部就好了?

9.怎么部署es+kibana

#es暴露的接口很多!
#es十分耗内存
#es的一般数据需要放置到安全目录!挂载#--net somenetwork 网络配置
#下载启动 elasticsearch
docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2#启动了Linux就会卡 
docker stats ->查看cpu状态
#es十分耗内存
#测试es是否安装成功
[root@rookieWRL ~]# curl localhost:9200
{"name" : "dc59c39551d1","cluster_name" : "docker-cluster","cluster_uuid" : "pS9kjEM9T1aWYkED6SZy_Q","version" : {"number" : "7.6.2","build_flavor" : "default","build_type" : "docker","build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f","build_date" : "2020-03-26T06:34:37.794943Z","build_snapshot" : false,"lucene_version" : "8.4.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qJ3tJXNz-1668560795186)(D:\file\file\Docker学习\images\image-20210807225645025.png)]

#赶紧关闭es,增加内存的限制 ,修改配置文件 -e环境配置修改
docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wJHwXJJa-1668560795186)(D:\file\file\Docker学习\images\image-20210807232920126.png)]

错误1:


docker: Error response from daemon: Conflict. The container name "/elasticsearch" is already in use by container "dc59c39551d11c7a71e862347b8d17841452139f7d61f53051ada086d258e129". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.

解决:表示这个名为“elasticsearch”的容器已经存在,我们取一个别的名字即可

错误2:在想要修改配置并运行es时出现以下错误:

[root@rookieWRL ~]# docker run -d --name elasticsearch03  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:7.6.2
82744712a58bd2d41a2ac14ec7b171f2d6f2d4b8a8b68c492800d490d922942e
docker: Error response from daemon: driver failed programming external connectivity on endpoint elasticsearch03 (79dae940d2e994c7d789b8789fb0b6c1b71d746bdc65c4e0bde88363b0f3004d): Bind for 0.0.0.0:9300 failed: port is already allocated.

解决:因该是有es容器占用了9300端口,我把正在运行的es容器停掉重新运行就好了

#重新配置后测试成功
[root@rookieWRL ~]# curl localhost:9200
{"name" : "cded944be5f7","cluster_name" : "docker-cluster","cluster_uuid" : "jCQIP0nGTKq_hfkxDVP73A","version" : {"number" : "7.6.2","build_flavor" : "default","build_type" : "docker","build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f","build_date" : "2020-03-26T06:34:37.794943Z","build_snapshot" : false,"lucene_version" : "8.4.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search"
}

使用kibana来连接es?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SLPq6Hyr-1668560795186)(D:\file\file\Docker学习\images\image-20210807233435459.png)]

可视化—portainer

portainer(先用这个,不是最佳选择)

docker run -d -p 8088:9000 \ --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

Rancher(CI/CD再用)

什么是portainer?

Docker图形化管理工具。提供一个后台面板给我们操作

docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
  • 参数说明:
    • –restart=always 启动方式
    • -v /var/run/docker.sock:/var/run/docker.sock 挂载
    • –privileged=true 权限

访问测试:

外网:http://39.105.163.53:8088/

注册页面:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RBG3rk9T-1668560795187)(D:\file\file\Docker学习\images\image-20210808000704989.png)]

注册之后:

local

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VVchwpDA-1668560795187)(D:\file\file\Docker学习\images\image-20210808000835100.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ocuLsqan-1668560795187)(D:\file\file\Docker学习\images\image-20210808001012592.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qpGu0hVf-1668560795188)(D:\file\file\Docker学习\images\image-20210808001135965.png)]

平时不会使用这个面板

Docker镜像讲解

镜像是什么?

镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。

所有应用直接打包docker镜像,就可以直接跑起来!

如何得到镜像:

1.从远程下载

2.朋友拷贝过来

3.自己制作一个镜像dockerFile

Docker镜像加载原理

UnionFS(联合文件系统)

UnionFs(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统。它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同的目录挂载到同一个虚拟文件系统下(unite serveral directories into a single virtual filesystem).Union文件系统是docker 镜像的基础,镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

特性:一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

Docker镜像加载原理

docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS.

bootfs(boot file system)主要包含bootloader和kernel,bootloader主要引导加载kernel,Linux刚启动的时候会加载bootfs文件系统,在docker镜像的最底层就是bootfs。这一层与我们典型的Linux和Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs.

rootfs(root file system) ,在bootfs之上,包含的就是典型的Linux系统中的/dev,/proc,/bin,/etc等标准目录和文件,rootfs就是各种不同的操作系统发行版,比如Ubuntu,centos等

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S6QYDvGt-1668560795188)(D:\file\file\Docker学习\images\image-20210810225603574.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aF0yYBQr-1668560795189)(D:\file\file\Docker学习\images\image-20210810230016540.png)]

平时安装的centos都是好几个G,为什么到docke这里才几百M

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lN3hkkZ6-1668560795189)(D:\file\file\Docker学习\images\image-20210810230415578.png)]

对于一个精简的OS,rootfs很小,只需包含最基本的命令,工具和程序库就可以了,因为最底层直接使用host的kernel,自己只需要提供rootfs就可以了,由此可见对于不同的Linux发行版本,bootfs基本是一致的,rootfs会有差别,因此不同的发行版本可以公用bootfs.

分层理解

分层的镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QnL3yhdO-1668560795189)(D:\file\file\Docker学习\images\image-20210810231219525.png)]

思考?为什么docker镜像要采用这种分层的结构呢?

最大的好处莫过于是资源共享了!比如有多个镜像都从相同的Base镜像构建而来,那么宿主机只需要在磁盘上保留一份base镜像,同时内存中也只需要加载一份base镜像,这样就可以为所有容器服务了,而且镜像的每一层都可以被共享。

查看镜像分层的方式可以通过docker imgae inspect命令!

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9wSBEQ5H-1668560795189)(D:\file\file\Docker学习\images\image-20210811203150963.png)]

理解:

所有的docker 镜像都起始于一个基础镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层。举一个简单的例子。例如基于Ubuntu Linux16.04创建一个新的镜像,这就是新镜像的第一层,如果在该镜像中添加python包,就会在基础镜像层之上创建第二个镜像层;如果继续添加一个安全补丁,就会创建第三个镜像层。

该镜像当前已经包含三个镜像层,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-voUqCfNY-1668560795190)(D:\file\file\Docker学习\images\image-20210811230322827.png)]

在添加额外镜像蹭听的同时,镜像始终保持时当前所有镜像的组合,理解这一点十分重要,下图举了一个简单的例子,每个镜像层包含三个文件,二镜像包含了来自两个镜像层的6个文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2pBV3fM7-1668560795190)(D:\file\file\Docker学习\images\image-20210811230606650.png)]

上图的镜像层跟之前的略有区别,主要目的是便于展示文件。

下图展示另一个稍微复杂的三层镜像,在外部看来整个镜像只有6个文件,这是因为最上层中的文件7是文件5的一个更新版

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NPg2Quhc-1668560795190)(D:\file\file\Docker学习\images\image-20210811231625771.png)]

这种情况下,上层镜像层中的文件能覆盖了底层镜像层中的文件。这样就使得文件的更新本版作为一新的镜像层添加到镜像当中。Docker通过存储引擎(新版本采用快照机制)的方式实现镜像层堆栈,并保证多镜像层对外展示为统一的文件系统。

Linux上可以用的存储引擎有AUFS,Overlay2,DeviceMapper,Btrfs以及ZFS。顾名思义,每种存储引擎都基于Linux中对应的文件系统或者块设备技术,并且每种存储引擎都有其独有的性能特点。

Docker在windows上仅支持Windows filter一种存储引擎,该引擎基于NTFS文件系统之上是实现了分层和Cow[1]

下图展示 了与系统显示相同的三层镜像,所有镜像层堆叠并合并,对外提供统一的视图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HmtfU4X0-1668560795191)(D:\file\file\Docker学习\images\image-20210814205352132.png)]

特点:

Docker镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像的顶部!

这一层就是我们通常说的容器层,容器之下都叫镜像层

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYzA0IND-1668560795191)(D:\file\file\Docker学习\images\image-20210814211039858.png)]

如何提交一个自己的镜像

commit镜像

docker commit 提交容器成为一个新的副本#命令和git原理类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[版本]

实战测试:

1.启动一个默认的tomcat

2.发现这个默认的tomcat是 没有webapp应用,镜像的原因,官方的镜像默认,webapps下面是没有文件的

3.我们手动拷贝文件进去

4.将我们操作过的容器通过commit提交为一个镜像,我们以后就是用我们修改过的镜像即可。这就是我们自己的一个修改的镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Svucjze3-1668560795191)(D:\file\file\Docker学习\images\image-20210814224951099.png)]

到这才是入门docker

容器数据卷

什么是容器数据卷

docker 的理念: 将应用和环境打包成一个镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-98iDvutl-1668560795192)(D:\file\file\Docker学习\images\image-20210823164723909.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9a8n5pLs-1668560795192)(D:\file\file\Docker学习\images\image-20210823164734643.png)]

总结一句话:容器的持久化和同步操作!容器间也是可以数据共享的!

使用数据卷

方式一:

直接使用用命令挂载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F6K1yYdh-1668560795192)(D:\file\file\Docker学习\images\image-20210823165347049.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oCgTbt1Y-1668560795192)(D:\file\file\Docker学习\images\image-20210823165414548.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y7xvxmNk-1668560795193)(D:\file\file\Docker学习\images\image-20210823165646196.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KkTae1kR-1668560795193)(D:\file\file\Docker学习\images\image-20210823165920828.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-09ImpwUB-1668560795193)(D:\file\file\Docker学习\images\image-20210823170023586.png)]

实战:安装MySQL

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5xre162u-1668560795193)(D:\file\file\Docker学习\images\image-20210823170701252.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bI6tBC2E-1668560795194)(D:\file\file\Docker学习\images\image-20210823170940586.png)]

具名挂载和匿名挂载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gUBsek1D-1668560795194)(D:\file\file\Docker学习\images\image-20210823174431937.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zSf0bSvd-1668560795194)(D:\file\file\Docker学习\images\image-20210823174619985.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uDtLMcDN-1668560795194)(D:\file\file\Docker学习\images\image-20210823174925864.png)]

方式二:

初识dockerfile

载镜像生成时就挂载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-286RQgxe-1668560795195)(D:\file\file\Docker学习\images\image-20210823175723701.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EJubgXzq-1668560795195)(D:\file\file\Docker学习\images\image-20210823180237041.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Iq59yS7s-1668560795195)(D:\file\file\Docker学习\images\image-20210823180423887.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t4wmC1H2-1668560795196)(D:\file\file\Docker学习\images\image-20210823180436047.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9tGLSYko-1668560795196)(D:\file\file\Docker学习\images\image-20210823180528754.png)]

数据卷容器

多个MySQL同步数据

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wiRHwDEb-1668560795196)(D:\file\file\Docker学习\images\image-20210823180900591.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JcRvEhcv-1668560795196)(D:\file\file\Docker学习\images\image-20210823181022081.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vFQ2uqnw-1668560795197)(D:\file\file\Docker学习\images\image-20210823181155777.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uiXScHg9-1668560795197)(D:\file\file\Docker学习\images\image-20210823181249032.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ik2VAvhl-1668560795197)(D:\file\file\Docker学习\images\image-20210823181432016.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdNaTp51-1668560795198)(D:\file\file\Docker学习\images\image-20210823181907374.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uUsACxd4-1668560795198)(D:\file\file\Docker学习\images\image-20210823182032626.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bQf9PmLP-1668560795198)(D:\file\file\Docker学习\images\image-20210823182135175.png)]

dokcerFile

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8rTr50Vj-1668560795198)(D:\file\file\Docker学习\images\image-20210823182434696.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5f9lsyvk-1668560795199)(D:\file\file\Docker学习\images\image-20210823182547240.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iYSnhF5z-1668560795200)(D:\file\file\Docker学习\images\image-20210823183050623.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uBT2a6NG-1668560795200)(D:\file\file\Docker学习\images\image-20210823183135246.png)]

dockerFile构建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3ot6EXGm-1668560795200)(D:\file\file\Docker学习\images\image-20210823183410257.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kbVYlKcr-1668560795200)(D:\file\file\Docker学习\images\image-20210823183635326.png)]

dockerFile命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1vB2C3oc-1668560795201)(D:\file\file\Docker学习\images\image-20210823184255390.png)]

镜像构建实战:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fwvAdFZg-1668560795201)(D:\file\file\Docker学习\images\image-20210823184533086.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6RrAN2ff-1668560795201)(D:\file\file\Docker学习\images\image-20210823185352061.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Sghv5FUe-1668560795202)(D:\file\file\Docker学习\images\image-20210823185707054.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R2d09vKk-1668560795202)(D:\file\file\Docker学习\images\image-20210823185811646.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hcss0KpE-1668560795202)(D:\file\file\Docker学习\images\image-20210823185822214.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tuZ2F2ey-1668560795202)(D:\file\file\Docker学习\images\image-20210823190416972.png)]

CMD和ENTRYPOINT的区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Vm7nnCy-1668560795203)(D:\file\file\Docker学习\images\image-20210823191107549.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FklLXT7K-1668560795203)(D:\file\file\Docker学习\images\image-20210823191333515.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1jpCNn9H-1668560795203)(D:\file\file\Docker学习\images\image-20210823191617155.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w6jW2gvZ-1668560795204)(D:\file\file\Docker学习\images\image-20210823190949605.png)]

实战制作tomcat镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6b1TdeGv-1668560795204)(D:\file\file\Docker学习\images\image-20210823191814459.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L2rZxByG-1668560795204)(D:\file\file\Docker学习\images\image-20210823193929964.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fYlCbDLd-1668560795205)(D:\file\file\Docker学习\images\image-20210823202307161.png)]

发布自己的镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EpEV1vkH-1668560795205)(D:\file\file\Docker学习\images\image-20210823231455914.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X8ycsRky-1668560795205)(D:\file\file\Docker学习\images\image-20210823231526623.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y1U2Dg8Q-1668560795205)(D:\file\file\Docker学习\images\image-20210823231901305.png)]

发布镜像到阿里云

参考阿里云文档

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rBhP1z2z-1668560795206)(D:\file\file\Docker学习\images\image-20210823232355256.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pDwX2YRm-1668560795206)(D:\file\file\Docker学习\images\image-20210823233328998.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1WYyLZCv-1668560795206)(D:\file\file\Docker学习\images\image-20210823232827066.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-N4nAmlEu-1668560795206)(D:\file\file\Docker学习\images\image-20210823233700088.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PheJOAma-1668560795207)(D:\file\file\Docker学习\images\image-20210823233820562.png)]

docker网络

docker run -p 3306:3306 --name mysql 
-v /data/docker/mysql/conf:/etc/mysql/conf.d 
-e MYSQL_ROOT_PASSWORD=Vv0IBQ5qST 
-d mysql:5.7

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KLAqPZXS-1668560795207)(D:\file\file\Docker学习\images\image-20210823234159104.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7OwFnX7X-1668560795207)(D:\file\file\Docker学习\images\image-20210823234347950.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F3obpOIq-1668560795208)(D:\file\file\Docker学习\images\image-20210823234717662.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y5OsVRqy-1668560795208)(D:\file\file\Docker学习\images\image-20210823235042294.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IqLW6YqM-1668560795208)(D:\file\file\Docker学习\images\image-20210823235135293.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZvkAmczg-1668560795208)(D:\file\file\Docker学习\images\image-20210823235323405.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5WxfdkNA-1668560795209)(D:\file\file\Docker学习\images\image-20210823235427669.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HExmGB5P-1668560795209)(D:\file\file\Docker学习\images\image-20210823235718958.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wUbnSLcj-1668560795209)(D:\file\file\Docker学习\images\image-20210823235926549.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5tcEkYJL-1668560795209)(D:\file\file\Docker学习\images\image-20210824000106951.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pyf7i3pL-1668560795210)(D:\file\file\Docker学习\images\image-20210824000238541.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WoiYok05-1668560795210)(D:\file\file\Docker学习\images\image-20210824000809469.png)]

–link

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7GtHIHqt-1668560795210)(D:\file\file\Docker学习\images\image-20210824000426636.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R3lNMdTa-1668560795210)(D:\file\file\Docker学习\images\image-20210824000830069.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ul3Y0nrE-1668560795211)(D:\file\file\Docker学习\images\image-20210824000903141.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TaNk101o-1668560795211)(D:\file\file\Docker学习\images\image-20210824001222148.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EKDRugAZ-1668560795211)(D:\file\file\Docker学习\images\image-20210824001402213.png)]

自定义网络

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ipi9KFbT-1668560795211)(D:\file\file\Docker学习\images\image-20210824001747364.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0BVi3jGN-1668560795212)(D:\file\file\Docker学习\images\image-20210824002251164.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tdwVPBui-1668560795212)(D:\file\file\Docker学习\images\image-20210824002400020.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4tN6r0Du-1668560795212)(D:\file\file\Docker学习\images\image-20210824002738660.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z5oNo1Ys-1668560795212)(D:\file\file\Docker学习\images\image-20210824002833788.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ir7Ubs8Q-1668560795213)(D:\file\file\Docker学习\images\image-20210824002926251.png)]

网络连通

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7C2CMFKf-1668560795213)(D:\file\file\Docker学习\images\image-20210824003227365.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vemQaXaq-1668560795213)(D:\file\file\Docker学习\images\image-20210824003436221.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZCj2o56N-1668560795213)(D:\file\file\Docker学习\images\image-20210824003506844.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HINkfVDu-1668560795214)(D:\file\file\Docker学习\images\image-20210824003535130.png)]

实战部署redis集群

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WPZMk5AW-1668560795214)(D:\file\file\Docker学习\images\image-20210824003702307.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fvGJekey-1668560795214)(D:\file\file\Docker学习\images\image-20210824003824251.png)]

启动redis服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VGLT913m-1668560795214)(D:\file\file\Docker学习\images\image-20210824004053074.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JN4xrI9I-1668560795215)(D:\file\file\Docker学习\images\image-20210824004354082.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RWcvaV4x-1668560795215)(D:\file\file\Docker学习\images\image-20210824004638941.png)]

spring boot微服务打包Docker镜像

就是新建一个file,没有文件的后缀名,输入“Dockerfile"即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pm8LQz2F-1668560795215)(D:\file\file\Docker学习\images\image-20210824005218789.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VItRNc0f-1668560795215)(D:\file\file\Docker学习\images\image-20210824005613562.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下来直接上传(img-J0dMbMuS-1668560795216)(D:\file\file\Docker学习\images\image-20210824005653243.png)]

docker使用apache pulsar

运行单机集群

docker run -it -d \-p 6650:6650 \-p 8080:8080 \-v $PWD/data:/pulsar/data \apachepulsar/pulsar:latest \bin/pulsar standalone

docker 使用nats

先copy出nats的配置文件,然后再挂载,因为无法进入到容器内部
[root@rookieWRL myNats3]# ls
nats1-server.conf[root@rookieWRL myNats3]# docker run -d -it -p 4222:4222 -v $PWD/nats1-server.conf:/nats-server.conf nats:latest

docker 使用postgres

docker run -d --name pg1 -p 5433:5432 -e POSTGRES_PASSWORD=wrl128201 -v D:/dockerVolumes/pg1:/var/lib/postgresql/data postgres

docker 运行ES

docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

1668560795212)]

[外链图片转存中…(img-Ir7Ubs8Q-1668560795213)]

网络连通

[外链图片转存中…(img-7C2CMFKf-1668560795213)]

[外链图片转存中…(img-vemQaXaq-1668560795213)]

[外链图片转存中…(img-ZCj2o56N-1668560795213)]

[外链图片转存中…(img-HINkfVDu-1668560795214)]

实战部署redis集群

[外链图片转存中…(img-WPZMk5AW-1668560795214)]

[外链图片转存中…(img-fvGJekey-1668560795214)]

启动redis服务

[外链图片转存中…(img-VGLT913m-1668560795214)]

[外链图片转存中…(img-JN4xrI9I-1668560795215)]

[外链图片转存中…(img-RWcvaV4x-1668560795215)]

spring boot微服务打包Docker镜像

就是新建一个file,没有文件的后缀名,输入“Dockerfile"即可

[外链图片转存中…(img-pm8LQz2F-1668560795215)]

[外链图片转存中…(img-VItRNc0f-1668560795215)]

[外链图片转存中…(img-J0dMbMuS-1668560795216)]

docker使用apache pulsar

运行单机集群

docker run -it -d \-p 6650:6650 \-p 8080:8080 \-v $PWD/data:/pulsar/data \apachepulsar/pulsar:latest \bin/pulsar standalone

docker 使用nats

先copy出nats的配置文件,然后再挂载,因为无法进入到容器内部
[root@rookieWRL myNats3]# ls
nats1-server.conf[root@rookieWRL myNats3]# docker run -d -it -p 4222:4222 -v $PWD/nats1-server.conf:/nats-server.conf nats:latest

docker 使用postgres

docker run -d --name pg1 -p 5433:5432 -e POSTGRES_PASSWORD=wrl128201 -v D:/dockerVolumes/pg1:/var/lib/postgresql/data postgres

docker 运行ES

docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:tag

相关内容

热门资讯

Python|位运算|数组|动... 目录 1、只出现一次的数字(位运算,数组) 示例 选项代...
张岱的人物生平 张岱的人物生平张岱(414年-484年),字景山,吴郡吴县(今江苏苏州)人。南朝齐大臣。祖父张敞,东...
西游西后传演员女人物 西游西后传演员女人物西游西后传演员女人物 孙悟空 六小龄童 唐僧 徐少华 ...
名人故事中贾岛作诗内容简介 名人故事中贾岛作诗内容简介有一次,贾岛骑驴闯了官道.他正琢磨着一句诗,名叫《题李凝幽居》全诗如下:闲...
和男朋友一起优秀的文案? 和男朋友一起优秀的文案?1.希望是惟一所有的人都共同享有的好处;一无所有的人,仍拥有希望。2.生活,...
戴玉手镯的好处 戴玉手镯好还是... 戴玉手镯的好处 戴玉手镯好还是碧玺好 女人戴玉?戴玉好还是碧玺好点佩戴手镯,以和田玉手镯为佳!相嫌滑...
依然什么意思? 依然什么意思?依然(汉语词语)依然,汉语词汇。拼音:yī    rán基本解释:副词,指照往常、依旧...
高尔基的散文诗 高尔基的散文诗《海燕》、《大学》、《母亲》、《童年》这些都是比较出名的一些代表作。
心在飞扬作者简介 心在飞扬作者简介心在飞扬作者简介如下。根据相关公开资料查询,心在飞扬是一位优秀的小说作者,他的小说作...
卡什坦卡的故事赏析? 卡什坦卡的故事赏析?讲了一只小狗的故事, 我也是近来才读到这篇小说. 作家对动物的拟人描写真是惟妙...
林绍涛为简艾拿绿豆糕是哪一集 林绍涛为简艾拿绿豆糕是哪一集第三十二集。 贾宽认为是阎帅间接导致刘映霞住了院,第二天上班,他按捺不...
小爱同学是女生吗小安同学什么意... 小爱同学是女生吗小安同学什么意思 小爱同学,小安同学说你是女生。小安是男的。
内分泌失调导致脸上长斑,怎么调... 内分泌失调导致脸上长斑,怎么调理内分泌失调导致脸上长斑,怎么调理先调理内分泌,去看中医吧,另外用好的...
《魔幻仙境》刺客,骑士人物属性... 《魔幻仙境》刺客,骑士人物属性加点魔幻仙境骑士2功1体质
很喜欢她,该怎么办? 很喜欢她,该怎么办?太冷静了!! 太理智了!爱情是需要冲劲的~不要考虑着考虑那~否则缘...
言情小说作家 言情小说作家我比较喜欢匪我思存的,很虐,很悲,还有梅子黄时雨,笙离,叶萱,还有安宁的《温暖的玄》 小...
两个以名人的名字命名的风景名胜... 两个以名人的名字命名的风景名胜?快太白楼,李白。尚志公园,赵尚志。
幼儿教育的代表人物及其著作 幼儿教育的代表人物及其著作卡尔威特的《卡尔威特的教育》,小卡尔威特,他儿子成了天才后写的《小卡尔威特...
海贼王中为什么说路飞打凯多靠霸... 海贼王中为什么说路飞打凯多靠霸气升级?凯多是靠霸气升级吗?因为之前刚到时确实打不过人家因为路飞的实力...
运气不好拜财神有用吗运气不好拜... 运气不好拜财神有用吗运气不好拜财神有没有用1、运气不好拜财神有用。2、拜财神上香前先点蜡烛,照亮人神...