网站建设工作小组分工,软件开发培训学校梦,单页网站产品,正能量网站推荐docker 第一章
1、什么是docker
答#xff1a;docker是一种容器引擎#xff0c;通过docker可以将软件安装并且配置好以后#xff0c;做成一个镜像文件。通过这个镜像文件可以快速的安装、配置软件环境
2、3个概念 【docker镜像】#xff1a;将软件环境安装配置好以后产生…
docker 第一章
1、什么是docker
答docker是一种容器引擎通过docker可以将软件安装并且配置好以后做成一个镜像文件。通过这个镜像文件可以快速的安装、配置软件环境
2、3个概念 【docker镜像】将软件环境安装配置好以后产生的镜像文件通过它可以快速配置软件环境
【docker仓库】存放在docker镜像的位置
【docker容器】通过docker镜像产生的一个实例一个正在运行的应用程序
【问题3配置docker的要求】centOs的版本必须是7或者是更高版本
3、安装及配置
【docker的安装以及配置】
1、联网安装dockeryum install docker2、启用dockersystemctl start docker3、设置开机启动只要Linux一加载docker自动开启systemctl enable docker
4、如果要停止dockersystemctl stop docker
更改默认配置
【更改docker的默认配置】默认情况下docker类似于maven,需要连接docker仓库下载docker的镜像但docker仓库的地址在国外下载比较慢所以我们一般会改成国内的地址
1、进入etc/dockercd /etc/docker
2、编辑 daemon.json在{}中增加下代码默认{}中是空的
在{}中添加如下内容{registry-mirrors: [https://docker.mirrors.ustc.edu.cn/,https://9cpn8tt6.mirror.aliyuncs.com,https://hub-mirror.c.163.com,https://registry.docker-cn.com],insecure-registries: [10.0.0.12:5000]}
3、停止dockersystemctl stop docker
4、启动dockersystemctl start docker
4、操作docker镜像
操作docker镜像
1、查看当前本地仓库中存在哪些docker镜像docker images
2、从远程仓库中查询docker镜像docker search 软件名称 但这种方式是在控制台显示不够直观我们可以查询docker的官网进行可视化搜索
官网地址 hub.docker.com
3、从远程仓库中拉取docker镜像到本地仓库中方式1 docker pull 软件名:版本号
docker pull mysql:5.7
方式2docker pull 软件名 如果没有指定版本号系统默认下载最新版本docker pull nginx
4、删除镜像
docker rmi 镜像id
docker rmi 605c77e624dd
注意如果当前镜像产生了docker容器一个正在运行的程序该镜像无法直接删除
删除方式11、先停止docker容器docker stop 容器id
2、再删除docker容器docker rm 容器id3、最后删除docker镜像docker rmi 镜像id
删除方式2强制删除
docker rmi 镜像Id -f
5、操作docker容器
操作docker容器 一个正在运行的程序
1、查看当前有哪些容器正在运行
docker ps ---------------------------这个命令只能查看到正在运行的容器
2、查看所有容器不论是正在运行的还是已经停止的docker ps -a
3、启动容器通过docker镜像运行一个程序不同的docker镜像启动容器的方式有所有不同但大体步骤是一样的
docker run -d -p linux的端口号:docker中的端口号 软件名:版本号docker run -d -p 80:80 nginxdocker run---------运行docker容器
-d:表示容器在后台运行
-p linux系统的端口号:docker中的端口号此处是进行端口映射通过linux的哪一个端口号映射到docker中的哪一个端口号
例如启动nginx容器docker run -d -p 80:80 nginx 例如启动tomcat容器docker run -d -p 8080:8080 tomcat:8.5.20例如启动redis容器docker run -d -p 6379:6379 redis
4、停止docker容器让一个正在运行的容器停止运行docker stop 容器id
5、让停止运行容器重新运行docker start 容器id
6、删除容器docker rm 容器Id
7、如果容器被删除了如果要再次运行容器就需要重新通过镜像启动docker run -d -p 80:80 nginx 6、nginx
nginx
1、拉取nginxdocker pull nginx
2、产生nginx容器docker run -d -p 80:80 nginx
3、注册防火墙firewall-cmd --zonepublic --add-port80/tcp --permanentfirewall-cmd --reload
7、redis
配置redis
1、拉取redis
docker pull redis
2、产生redis容器docker run -d -p 6379:6379 redis
3、注册防火墙firewall-cmd --zonepublic --add-port6379/tcp --permanentfirewall-cmd --reload
8、tomcat
配置tomcat1、拉取tomcatdocker pull tomcat:8.5.202、产生tomcat容器docker run -d -p 9999:8080 tomcat:8.5.203、注册防火墙firewall-cmd --zonepublic --add-port9999/tcp --permanentfirewall-cmd --reload 将项目部署到tomcat中
1、在home目录下创建tomcat目录
mkdir -p /home/tomcat
2、执行命令将docker中tomcat的目录挂载到外部目录中挂载后操作外部目录就相当于在操作 docker中的目录
docker run -d -p :8080 --name tomcat \
-v /home/tomcat/webapps:/usr/local/tomcat/webapps --privilegedtrue
tomcat:8.5.20
\ :表示换行--name tomcat: 表示给容器指定别名tomcat-v: 挂载的命令语法-v /外部目录:/docker容器的目录
示例: -v /home/tomcat/webapps:/usr/local/tomcat/webappstomcat:8.5.20:表示是通过哪一个镜像产生容器
-d表示后台运行
-p 8080:8080表示端口映射 -p 宿主机端口:docker容器的端口
docker --privilegedtrue 参数作用使用该参数container内的root拥有真正的root权限。
否则container内的root只是外部的一个普通用户权限
3、部署项目
只需要将打好的war放到设置的webapps目录即可访问 ip地址:8080/包名
4、如果要进入容器
docker exec -it 容器的Id /bin/bash
或者
docker exec -it 容器的别名 /bin/bash5、退出容器
exit
6、查看docker进行了哪些端口号的映射
firewall-cmd --list-port
9、MySQL
配置Mysql1、拉取mysqldocker pull mysql:5.72、产生mysql容器docker run --name some-mysql -e MYSQL_ROOT_PASSWORDroot -d -p 3307:3306 mysql:5.7docker下的mysql初始账号 root初始密码 root3、注册防火墙firewall-cmd --zonepublic --add-port3307/tcp --permanentfirewall-cmd --reload 10、rabbitmq
配置rabbitmq1、拉取rabbitmqdocker pull rabbitmq:management2、产生rabbitmq容器docker run -d -p 15672:15672 -p 5672:5672 rabbitmq:management3、注册防火墙firewall-cmd --zonepublic --add-port15672/tcp --permanentfirewall-cmd --zonepublic --add-port5672/tcp --permanentfirewall-cmd --reload
Linux防火墙
需要将端口号在防火墙中注册或者是关闭防火墙注册 firewall-cmd --zonepublic --add-port80/tcp --permanentfirewall-cmd --reload关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动 服务器
阿里云或腾讯云**服务器说白了就是一个ip把当前虚拟机的ip换成买来的ip
1、在阿里云服务器上部署环境、部署项目 2、git的使用
在实际应用中我们可以使用一个工具简化操作“宝塔面板”
${pageContext.request.contextPath}---获得当前 git使用 方式1单独使用git不使用idea方式2结合Idea一起使用
方式1单独使用
1-6
方式1单独使用git不使用idea的步骤1、在当前主机中创建一个目录作为git的本地仓库(用于存储项目向服务器推送)2、初始化git仓库1、cmd进入目录2、执行命令 git init3、在工作区中创建新文件4、查看工作区的文件git status红色----------新文件或者是修改后的文件此文件还没有加入到暂存区绿色 ---------文件已经加入到了暂存区但是还没有提交到Master主分支5、将新文件或者是修改后的文件加入到暂存区git add . -------------------将所有新文件或者是修改后的文件加入暂存区6、将暂存区的文件提交到主分区git commit -m 第一次提交数据一旦提交通过git stutus就看不见任何内容
7-12
7、在gitee注册账号并且创建仓库8、将本地仓库与远程git服务器关联git remote add origin 仓库地址 git remote add origin https://gitee.com/brucema567/d116_5.git9、将代码推送到远程的git仓库git push -u origin master10、其他用户要从远程仓库下载代码有两种方式方式1clone服务器的代码git clone 仓库地址git clone https://gitee.com/brucema567/d116_5.git方式2pull方式从服务器拉取1、创建目录2、初始化目录 git init3、关联到远程服务器 git remote add origin https://gitee.com/brucema567/d116_5.git4、从服务器中拉取项目 git pull origin master11、如果修改了代码先add,再Commit,最后push12、其他用户要拉取最新的代码git pull origin master