5. docker 应用部署

创建时间:2026-05-17 10:41
长度:1461
浏览:0
评论:0

应用部署:

   容器内的网络服务和外部机器不能直接通信

   外部机器和宿主机可以直接通信

   宿主机和容器可以直接通信

   当容器中的网络服务需要被外部机器访问时,可以将容器中提供服务的端口映射到宿主机的端口上。外部机器访问宿主机的该端口,从而间接访问容器的服务。

   这种操作称为:端口映射


部署步骤

   1. 搜索镜像

   2. 拉取镜像

   3. 创建容器、设置端口映射、数据卷加载

   4. 测试访问


1. mysql 部署

mkdir mysql_demo && cd mysql_demo # 创建目录

docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:8.0.41

• 参数说明:
    -p 3307:3306:将容器的 3306 端口映射到宿主机的 3307 端口。
    -v $PWD/conf:/etc/mysql/conf.d: 将主机当前目录下的conf/my.cnf 挂载到容器的/etc/mysql/my.cnf。配置目录
    -v $PWD/logs:/logs: 将主机当前目录下的logs 目录挂载到容器的/logs。日志目录
    -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的/var/lib/mysql。数据目录
    -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。



2. tomcat 部署

mdkir tomcat_demo && cd tomcat_demo

docker run -id --name=c_tomcat \
-p 8080:8080 \
-$PWD:/usr/local/tomcat/webapps\
tomcat
参数说明:
    -p 8080:8080:将容器的8080端口映射到主机的8080端口
    -v $PWD:/usr/local/tomcat/webapps: 将主机中当前目录挂载到容器的webapps
    
使用外部机器访问tomcat
    


3. nginx 部署

docker run -id --name=c_nginx \
-p 80:80 \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/1og/nginx \
-v $PWD/htm1:/usr/share/nginx/htm7 \
nginx

参数说明:
    -p 80:80:将容器的80端口映射到宿主机的 80端口。
    -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf: 将主机当前目录下的/conf/nginx.conf 挂载到容器的:/etc/nginx/nginx.conf。配置目录
    -v $PWD/logs:/var/log/nginx:将主机当前目录下的logs 目录挂载到容器的/var/log/nginx。日志目录



4. redis 部署

docker run -id --name=c_redis -p 6379:6379 redis: 5.01





评论(共0条)