Docker 学习之路之 Docker 应用部署
Docker 部署 MySQL
步骤:
- 搜索镜像
docker search mysql
- 拉取镜像
docker pull mysql
- 创建容器
docker run -id \
-p 13306:3306 \
--name=container_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/1ogs \
-v $PWD/data:/var/1ib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:latest
# 上面 13306 为宿主端口,3306 为容器端口
- $PWD 在 Linux 中为当前目录的绝对路径
- -e 为设置环境变量
- 操作 MySQL 数据库
此处可以使用 MySQL 的图形化工具连接宿主机的ip和与容器绑定的对应端口进行对容器的 MySQL 进行操作
要让外部能够访问容器中的MySQL,可以使用端口映射将容器的MySQL端口与宿主机的一个端口绑定,然后外部直接访问宿主机的对应端口即可。如果使用云服务器记得在控制台放行对应端口!
Docker 部署 Nginx
步骤:
- 搜索镜像
docker search nginx
- 拉取镜像
docker pull nginx
- 创建容器
在 root 目录下创建 nginx 目录用于存储数据信息
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
# 在 conf 目录下创建 nginx.conf 文件
vim 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_1og /var/1og/nginx/access.1og main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
创建容器代码:
docker run -id --name=container_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
- 进行访问测试
在 html 文件夹随便放一个 index.html 文件即可测试
Docker 部署 Redis
步骤:
- 搜索镜像
docker search redis
- 拉取镜像
docker pull redis:5.0
- 创建容器
docker run -id --name=container_redis -p 6379:6379 redis:5.0
- 使用外部机器连接宿主机对应端口进行访问
./redis-cli.exe -h 192.168.123.123(宿主机的IP地址) -p 6379