Docker应用部署
-
mysql应用部署
1.容器内的网络服务和外部机器不能直接通信
2.外部机器可以和宿主机直接通信
3.宿主机和容器能直接通信
4.当容器中的网络服务需要被外部主机访问时,可以将容器中提供的端口映射到宿主机的端口上,外部机器访问宿主机的端口,从而就可以访问容器的服务。
以上即为:端口映射 -
命令行方式:
1.设置端口映射,目录映射
mkdir /root/mysql ----在/root下创建mysql目录
cd ~mysql -----进入到mysql文件
命令说明如下:
docker run -id -p 3306:3306 (将容器的3306端口映射到宿主机的3306端口) --name=c_mysql -v $PWD/config:/etc/mysql/conf.d
-v $PWD/logs:/logs
-v $PWD/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456 mysql:5.5参数解析: -v $PWD/config:/etc/mysql/conf.d 将主机当前目录下的config/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用户的密码。
pwd:当前路径
docker run -id -p 3306:3306 --name=c_mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_R
OOT_PASSWORD=123456 mysql:5.5
进入mysql容器内部:
docker exec -it c_mysql /bin/bash
登录mysql:
mysql -uroot -p123456
在此情况下对数据库进行操作:
mysql>
注意在写sql语句的时候,;不要忘记了
create database db1;
show databases;
MYSQL就已经部署好了。
使用外部机器连接宿主机:
使用navicat连接宿主机:
连接成功!
在navicat中创建表和插入数据:
在部署的mysql中进行操作: