2019-01-12 13:57:36
Dockerfile基本结构:
基础镜像内容:FROM指明base image
维护者信息:
镜像操作指令:RUN指令,每运行一条RUN指令,镜像添加新的一层,并提交。
容器启动时执行指令:指定运行容器时的操作命令。(支持#开头的注释行)
网络端口映射:
大写 -P:容器内部端口随机映射到主机的高端口。
小写 -p:容器内部端口绑定到指定的主机端口。
Docker run -d -p X.X.X.X:XXXX/(tcp/udp) images:tag
docker容器连接mysql容器(非子网环境)
描述:docker中部署mysql_server容器和mysql_client容器,链接两个容器并使用mysql_client的命令行来管理数据库,实现增删改查。
思路:
1.建立mysql_server容器并在后台运行。端口3306,root密码123456
2.本地连接测试通路
3.建立mysql_client容器并使用伪终端模式进入容器
先建立mysql_server容器
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v $PWD/conf:/etc/mysql/conf.d :将主机当前目录下的conf/my.cnf 挂载到容器的/etc/mysql/conf.d
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的/logs.
-v PWD/data:/var/lib/mysql:将主机当前目录下的data目录挂载到容器的/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456 :初始化root用户的密码。
测试:
建立mysql_client容器
Docker pull centos
Docker run -it centos
Ubunut# apt-get update
Ubuntu# apt-get install mysql-server-5.7