Docker 学习之路之 Docker 应用部署

Docker 部署 MySQL

步骤:

  1. 搜索镜像
docker search mysql
  1. 拉取镜像
docker pull mysql
  1. 创建容器
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 为设置环境变量
  1. 操作 MySQL 数据库
    此处可以使用 MySQL 的图形化工具连接宿主机的ip和与容器绑定的对应端口进行对容器的 MySQL 进行操作

要让外部能够访问容器中的MySQL,可以使用端口映射将容器的MySQL端口与宿主机的一个端口绑定,然后外部直接访问宿主机的对应端口即可。如果使用云服务器记得在控制台放行对应端口!

Docker 部署 Nginx

步骤:

  1. 搜索镜像
docker search nginx
  1. 拉取镜像
docker pull nginx
  1. 创建容器
在 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
  1. 进行访问测试
    在 html 文件夹随便放一个 index.html 文件即可测试

Docker 部署 Redis

步骤:

  1. 搜索镜像
docker search redis
  1. 拉取镜像
docker pull redis:5.0
  1. 创建容器
docker run -id --name=container_redis -p 6379:6379 redis:5.0
  1. 使用外部机器连接宿主机对应端口进行访问
./redis-cli.exe -h 192.168.123.123(宿主机的IP地址) -p 6379
posted @ 2023-07-16 21:00  三眠  阅读(37)  评论(0)    收藏  举报