Docker_06 容器-进阶操作
$ docker inspect mysql
端口映射#
$ docker run -itd -p 宿主机端口号:容器端口号
# 例子:
$ docker run -itd --name ben-nginx -p 80:80 nginx # 端口映射
$ curl 127.0.0.1:80
文件挂载#
$ docker run -itd -v /宿主机/文件目录/文件名:/容器/目录/文件名
# 例子:
$ mkdir /website
$ echo 'hello world !' > /website/index.html
$ docker stop ben-nginx
$ docker rm ben-nginx
$ docker run -itd --name=ben-nginx -p 80:80 -v /website:/usr/share/nginx/html nginx # 挂载目录
$ curl 127.0.0.1:80
// hello world !
- 将容器的文件复制到本地:
$ docker cp 容器名:/容器目录/文件名 /宿主机目录/文件名
$ docker cp ben-nginx:/etc/nginx/conf.d /website/nginx
- 将本地的文件复制到容器:
$ docker cp /宿主机目录/文件名 容器名:/容器目录/文件名
$ docker cp /website/nginx ben-nginx:/etc/nginx/conf.d
容器互联#
$ docker run -itd --link 要关联的容器名字:容器在被关联的容器中的别名
容器互联 - 例子:#
# 以 php 与 mysql 来举例
$ docker pull mysql
$ docker pull php
$ docker images
## -e 参数是传参
$ docker run -itd --name mysql -p 3306:3306 -v /website/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
$ ls /website/mysql/
## Mysql 初始化操作
$ docker exec -it mysql /bin/bash
bash> mysql -uroot -p # 密码 123456
bash - mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; # 修改 mysql 密码
## mysql创建 ###########################################################
bash - mysql> create database test; # 创建 test 数据库
bash - mysql> use test;
bash - mysql> create table if not exists user( name varchar(100) default '',age int default 0 )ENGINE=InnoDB DEFAULT CHARSET=utf8;
bash - mysql> insert into user (name,age) values ('zhangsan', 20);
bash - mysql> insert into user (name,age) values ('lisi', 18);
bash - mysql> select * from user;
bash - mysql> exit
######################################################################
bash> exit
# 创建 php 脚本
$ vim /website/php/index.php #输入以下内容 ##################################
<?php
try{
$pdo = new \PDO('mysql:host=mysql;dbname=test','root','123456');
foreach($pdo->query('select * from user') as $row){
print_r($row);
}
} catch (PDOException $e) {
die("Eooro !:" . $e->getMessage() . "<br/>");
}
######################################################################
# 创建 php 互联 mysql 容器
$ docker run -itd --name=php --link mysql:mysql -v /website/php/index.php:/index.php php
# 进入 php 容器检查互联结果
$ docker exec -it php /bin/bash
bash> docker-php-ext-install pdo_mysql # 安装 php 扩展
bash> php index.php # 输出查询结果(互联成功)
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: