《最详细的docker+php开发环境教程》(四) docker容器

image 文件生成的容器实例,本身也是一个文件,称为容器文件。也就是说,一旦容器生成,就会同时存在两个文件: image 文件和容器文件。

使用docker的过程差不多就是操作image和container的过程,他们大致关系如图:
这里写图片描述
其中dockerFile会另外再说。

查看容器

$ docker container ls [OPTIONS]

OPTIONS:
    -a: 查看所有容器,包括正在运行和已经停止的容器

注意:容器即使停止了,容器依然是存在的,如果修改了dockerFile文件,想要使新配置生效,需要将容器删除

删除容器

$ docker rm container_id

container_id: 可以使用docker ps查看

启动容器

$ docker run [OPTIONS] image

OPTIONS:
    1. --name=container_name: 指定启动后的容器名称
    2. -p: 绑定宿主机转发容器的端口
    3. -v: 宿主机与容器的文件映射
    4. -e: 环境变量
    5. -i: 以交互模式运行容器,通常与 -t 同时使用
    6. -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
    7. -d: 后台运行容器,并返回容器ID
    7. --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致
    8. link=连接名:容器名称 : 添加链接到另一个容器
    9. --expose=[]: 开放一个端口或一组端口

注意:
1. 如果容器中没有服务,即便使用了-d参数,启动后也会直接退出,所以容器必须有nginx、php-fpm这样的服务启动
2. 使用link参数可以使两个容器间使用link的值进行连接通信
示例:php-fpm容器和mysql容器

// 启动mysql容器,并将容器命名为mysql
docker run --name mysql -p 3306:3306 -v ~/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -itd develop/mysql

// 启动php-fpm容器,并将容器命名为php-fpm
docker run --name php-fpm -p 9000:9000 --link mysql:mysql -v ~/develop:/www --privileged=true -d develop/php

启动两个服务后,在连接mysql的时候,可以使用link的值,如下
$pdo = new PDO("mysql:host=mysql;port=3306;dbname=test", 'root', '123456');
在连接时,host可以不用ip,直接使用link指定的容器即可。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值