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用户的密码。
本地测试连接
[if !vml]
[endif]
建立mysql_client容器
Docker pullcentos
Docker run-it centos
Ubunut#apt-get update
Ubuntu#apt-get install mysql-server-5.7
[if !vml]
[endif]
Link:
Mysql_server容器链接Mysql_client组建内部子网
docker run --name mysql-server -v$PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -eMYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -itd -P --name web --link mysql-server:ziwen
ubuntu
Docker attachcontianer_id
Ubuntu#apt-get update
Ubuntu#apt-get install mysql-server-5.7