Mysql部署
需求:
在Docker容器中部署,并在外部客户端操作Mysql Server
步骤:
0 搜索镜像
1 拉去镜像
2 创建容器
3 操作容器中的mysql
说明:
1 容器内的网络服务不能喝外部直接通信。
2 外部机器可以直接访问宿主机。

我们可以让
3307端口映射到容器内部的3306,这操作叫做端口映射
端口映射格式:
docker run -.... -p {宿主机端口}:{容器端口} containername
部署命令:
docker pull mysql:5.6
#!/bin/bash
Cur=$(cd $(dirname $0);pwd)
docker_name="mysql"
mysql_home=~/docker_share/mysql
conf_path=$mysql_home/conf
log_path=$mysql_home/logs
data_dir=$mysql_home/data
docker run -id -p 3307:3306 \
--name mysql \
-v $conf_path:/etc/mysql/conf.d \
-v $log_path:/logs \
-v $data_dir:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql
nginx部署
先获取镜像
docker pull nginx
运行:
nginx_root=~/docker_share/nginx
docker run --name=my_nginx -id \
-p 80:80 \
-v $nginx_root/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $nginx_root/logs:/var/logs/nginx \
-v $nginx_root/html:/usr/share/nginx/html \
nginx
配置nginx.conf
vim ~/docker_share/nginx/conf/nginx.conf
将下面的文字加到里面:
user nginx;
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;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
在~/docker_share/html中创建一个index.html,随便填点啥:
<html>
<head>
<title>Zhaozijian's Index</title>
</head>
<body>
<h1>Welcome to zhaozijian's home</h1>
</body>
</html>
启动后,在浏览器输入
http://localhost
即可直接访问

部署Redis

docker run -id --name=my_redis -p 6379:6379 redis
浙公网安备 33010602011771号