网上得来终觉浅

_φ(❐_❐✧ 人丑就要多读书

导航

docker部署常用软件

1.docker部署mysql

搜索镜像

docker search mysql

拉取镜像

docker pull mysql:5.6

配置MySQL忽略大小写

# 创建MySQL配置的文件夹 
mkdir -p /root/mysql 
# 编辑my.cnf配置文件 
vi /root/mysql/my.cnf
#my.cnf添加如下配置
[mysqld] lower_case_table_names=1

创建容器,设置端口映射和目录映射

docker run -id \
-p 3306:3306 \
--name=mysql \
-v /root/mysql/conf:/etc/mysql/conf.d \
-v /root/mysql/logs:/logs \
-v /root/mysql:/etc/mysql/mysql.conf.d \
-e MYSQL_ROOT_PASSWORD=111111 \
mysql:5.6

参数解释

  • -d:是指容器后台运行,如果不加 -d ,当用户断开客户端时容器会结束运行
  • -p:将容器的3306端口映射到主机的3306端口,用来暴漏端口的
  • -v:这个命令是用来挂载目录的,将本地目录挂载到容器中,这样容器操作的就是本地目录
  • -e:这个命令是配置环境参数的,这里 MYSQL_ROOT_PASSWORD=123456 指的是用root用户运行mysql,可以登录Docker容器通过 ENV 命令查看
  • --name:这个命令是配置Mysql的容器名称,如果不配置,默认是随机生成的名字

查看MySQL运行日志 docker logs -f mysql

启动成功后,可通过navicat连接,检查配置的大小写参数是否生效
SHOW VARIABLES LIKE '%case_table%';

下载并导入数据

到测试数据官网[https://launchpad.net/test-db/+download] 下载数据库文件
![image](https://img2022.cnblogs.com/blog/2090034/202208/2090034-20220811170052012-269452413.png)

直接导入无法导入,需要编辑 employees.sql 文件的一些地方

  1. set storage_engine = InnoDB; 修改为: set default_storage_engine = InnoDB;
  2. select CONCAT('storage engine: ', @@storage_engine) as INFO; 修改为: select CONCAT('storage engine: ', @@default_storage_engine) as INFO;
    下载解压后,在本地执行命令导入到mysql服务器
    1)将employees_db目录下的sql文件上传到/opt/docker/data/mysql/挂载目录下,
    2)进入docker容器,
[root@linux30 mysql]# docker exec -it mysql /bin/bash 

3)在/var/lib/mysql目录下执行导入命令

root@24d27c3d7ae0:/var/lib/mysql# mysql -uroot -p123456 < employees.sql

在登陆客户端就能看到数据库以及表了

2.docker部署tomcat

1.搜索tomcat镜像

docker search tomcat

2.拉取tomcat镜像

docker pul1 tompat

  1. 创建容器,设置端口映射、目录映射

在/root目录下创建tomcat目录用于存储tomcat数据信息

mkdir ~/tomcat

cd ~/tomcat

docker run -id --name=c_tomcat \
-P 8080:8080 \
-V $PWD:/usr/local/tomcat/webapps \
tomcat 

3.docker部署redis

  1. 搜索redis镜像

docker search redis

  1. 拉取redis镜像

docker pull redis: 5.0

3.创建容器,设置端口映射

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

  1. 使用外部机器连接redis

redis-cli.exe -h 192.168.149.135 -p 6379

4.docker部署nginx

1.搜索nginx镜像

docker search nginx

  1. 拉取nginx镜像

docker pull nginx

  1. 创建容器,设置端口映射、目录映射
#在/root目录下创建nginx目录用于存储nginx数据信息 
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf

#在~/nginx/conf/下创建nginx.conf文件,粘贴下面内容 
vim 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 '$rmote_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;
}
#nginx.conf文件需要提前准备好
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 /html:/usr/share/nginx/html \
nginx

4.docker部署nacos

配置conf下application.properties文件中docker启动的mysql信息,mysql地址ip要使用docker中的ip,查看方式docker inspect mysql。

docker pull nacos/nacos-server:v2.1.1
Mkdir -p /usr/local/nacos/conf
Mkdir -p /usr/local/nacos/init.d
docker run -id --name=nacos -p 8848:8848 -v /usr/local/nacos/conf:/home/nacos/conf -v /usr/local/nacos/init.d/:/home/nacos/init.d/  nacos/nacos-server:v2.1.1 



posted on 2022-08-09 22:38  bgtong  阅读(184)  评论(0编辑  收藏  举报