一.Docker应用部署
任务:
MYSQL的应用部署
需求:在docker容器中部署nysql,并通过外部mysql客户端不操作mysql server 服务端
步奏:
1.搜索mysql镜像 docker search mysql
2.拉取镜像docker pull mysql:5.6
3.创建容器
(1)docker run -id #运行mysql -id 先不进如容器内部 通过exec 命令进入容器 -it exit 退出后就会停止服务器
> -p 3307:3306 #将容器的mysql3306端口映射到宿主机3307 外界可以通过3307 链接到我们的数据库
> --name=c_mysql #命名容器
> -v $PWD/conf:/etc/mysql/conf.d #-v 是映射文件 $PWD 就是将当前的目录(/root/conf:映射到/mysql/conf.d
> -v $PWD/logs:/logs #日志
> -v $PWD/data:/var/lib/mysql #数据
> -e MYSQL_ROOT_PASSWORD=123456 #设置数据库的密码
> mysql:5.6 #用的哪个镜像和版本
4.操作容器中的mysql
(2)#进入mysql容器
docker exec -it c_mysql /bin/bash
(3)#登录mysql
mysql -uroot -p123456
#即可操作数据可相关命令:
show databases; create database db1; use db1等 mysql 就部署好了
任务:
Tomcat的服务器应用部署
需求:在docker中部署Tomcat,并通过外部机器访问Tomcat部署的项目
1.搜索tomcat镜像
docker search tomcat
2.拉取tomcat镜像
docker pull tomcat
创建文件夹存放
mkdir ~/tomcat #宿主机根目录下创建
cd ~/tomcat
3.创建容器
docker run -id --name=c_tomcat # 创建容器
> -p 8080:8080 # 将容器的8080的端口映射到主机的8080端口
> -v $PWD:/usr/local/tomcat/webapps #将主机中当前目录挂载到荣威的webapps
> tomcat # 使用的镜像
使用:
1.mkdir mytest
2.cd mytest 文件目录下
3.vim index.html
i:进入编辑文本模式 <h1>hello docker tomcat</h1>
4.访问tomcat服务器:http://122.51.24.98:8080/mytest/index.html 会输出内容
# 将写好的项目扔到我们的tomcat目录下 前端请求:url啥 就返回写好的代码
任务:
Nginx的应用部署(反向代理)
需求:docker容器中部署Nginx,并通过外部机器访问Nginx
实现步骤:
1.搜索tomcat镜像
docker search Nginx
2.拉取tomcat镜像
docker pull nginx
#创建文件夹存放 在/root目录下用于存储nginx数据
mkdir ~/nginx #宿主机根目录下创建
cd ~/nginx
mkdir conf
cd conf
vim nginx.conf #进行文件的配置:
user root;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
autoindex on;
#gzip on;
include /etc/nginx/conf.d/*.conf;
client_max_body_size 100M;
client_header_buffer_size 128k;
large_client_header_buffers 4 128k;
}
# 记得切换到我们的nginx目录来
docker run -id --name=v1_nginx
> -p 80:80
> -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf
> -v $PWD/logs:/var/log/nginx
> -v $PWD/html:/usr/share/nginx/html
> nginx
4.测试访问
在nginx目录下>>>html 进行内容的编辑
122.51.24.98 直接访问默认请求端口80 输出
i:进入编辑文本模式 <h1>hello nginx</h1>
任务五:
Redis的应用部署
需求:docker容器中部署redis,并通过外部机器访问Redis
步棸:
搜索镜像
docker search redis
拉取镜像
docker pull redis
因为没有做任何的目录挂载 所以不需要进行创建redis目录
创建容器 设置端口映射
docker run -id --name=c_redis -p 7379:6379 redis:5.0
测试访问
cmd起客户端 进行访问
docker run -id --name=c_redis -p 6379:6379 redis:5.0
进到redis的目录下
D:Program FilesRedis>redis-cli.exe -h 122.51.24.98 -p 6379
# -h 指定宿主机的ip地址 -p 指定端口
keys *
set name koko
get name
一.docker应用部署 二.任务二 MYSQL的应用部署 需求:在docker容器中部署nysql,并通过外部mysql客户端不操作mysql server 服务端 步奏: 1.搜索mysql镜像 docker search mysql 2.拉取镜像docker pull mysql:5.6 3.创建容器 (1)docker run -id #运行mysql -id 先不进如容器内部 通过exec 命令进入容器 -it exit 退出后就会停止服务器
> -p 3307:3306 #将容器的mysql3306端口映射到宿主机3307 外界可以通过3307 链接到我们的数据库 > --name=c_mysql #命名容器 > -v $PWD/conf:/etc/mysql/conf.d #-v 是映射文件 $PWD 就是将当前的目录(/root/conf:映射到/mysql/conf.d > -v $PWD/logs:/logs #日志 > -v $PWD/data:/var/lib/mysql #数据 > -e MYSQL_ROOT_PASSWORD=123456 #设置数据库的密码 > mysql:5.6 #用的哪个镜像和版本 4.操作容器中的mysql (2)#进入mysql容器 docker exec -it c_mysql /bin/bash
(3)#登录mysql mysql -uroot -p123456
#即可操作数据可相关命令: show databases; create database db1; use db1等 mysql 就部署好了 任务三: Tomcat的服务器应用部署 需求:在docker中部署Tomcat,并通过外部机器访问Tomcat部署的项目 1.搜索tomcat镜像 docker search tomcat 2.拉取tomcat镜像 docker pull tomcat 创建文件夹存放 mkdir ~/tomcat #宿主机根目录下创建 cd ~/tomcat 3.创建容器 docker run -id --name=c_tomcat # 创建容器 > -p 8080:8080 # 将容器的8080的端口映射到主机的8080端口 > -v $PWD:/usr/local/tomcat/webapps #将主机中当前目录挂载到荣威的webapps > tomcat # 使用的镜像 使用: 1.mkdir mytest 2.cd mytest 文件目录下 3.vim index.html i:进入编辑文本模式 <h1>hello docker tomcat</h1> 4.访问tomcat服务器:http://122.51.24.98:8080/mytest/index.html 会输出内容 # 将写好的项目扔到我们的tomcat目录下 前端请求:url啥 就返回写好的代码 任务四: Nginx的应用部署(反向代理) 需求:docker容器中部署Nginx,并通过外部机器访问Nginx 实现步骤: 1.搜索tomcat镜像 docker search Nginx 2.拉取tomcat镜像 docker pull nginx #创建文件夹存放 在/root目录下用于存储nginx数据 mkdir ~/nginx #宿主机根目录下创建 cd ~/nginx mkdir conf cd conf vim nginx.conf #进行文件的配置:user root;worker_processes 1; error_log /var/log/nginx/error.log warn;pid /var/run/nginx.pid; events { worker_connections 1024;} http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; autoindex on; #gzip on; include /etc/nginx/conf.d/*.conf; client_max_body_size 100M; client_header_buffer_size 128k; large_client_header_buffers 4 128k;}# 记得切换到我们的nginx目录来docker run -id --name=v1_nginx > -p 80:80 > -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf > -v $PWD/logs:/var/log/nginx > -v $PWD/html:/usr/share/nginx/html > nginx
4.测试访问 在nginx目录下>>>html 进行内容的编辑 122.51.24.98 直接访问默认请求端口80 输出 i:进入编辑文本模式 <h1>hello nginx</h1>
任务五: redis数据的应用部署 需求:docker容器中部署redis,并通过外部机器访问Redis 步棸: 搜索镜像 docker search redis 拉取镜像 docker pull redis 因为没有做任何的目录挂载 所以不需要进行创建redis目录 创建容器 设置端口映射 docker run -id --name=c_redis -p 7379:6379 redis:5.0 测试访问 cmd起客户端 进行访问 docker run -id --name=c_redis -p 6379:6379 redis:5.0 进到redis的目录下 D:Program FilesRedis>redis-cli.exe -h 122.51.24.98 -p 6379 # -h 指定宿主机的ip地址 -p 指定端口 keys * set name koko get name