单容器管理
一.容器标识符
每一个容器被创建之后,都会分配一个CONTAINER ID作为容器的唯一标识。
CONTAINER ID默认是128位的,但是一般简写为前16位,足以标志其在本机的唯一性。
docker ps 查到的就是CONTAINER ID的缩略形式,docker ps --no-trunc 可以查看完整ID。
在创建时通过--name 参数来给容器起一个别名,来方便记忆,也可以通过别名对容器进行操作。
二.查询容器信息
docker inspect 查询容器的所有基本信息(运行情况,存储位置,配置参数,网络参数等等),以JSON格式展示。使用 -f 可以使用Golang的模版来提取指定部分的信息。
$ docker inspect -f {{.State.Status}} MyWordPress
running
$ docker inspect -f {{.NetworkSettings.IPAddress}} MyWordPress
172.17.0.5
查看日志:docker logs + name [docker log MyWordPress]
实时打印最新日志,加上参数 -f
docker stats 查看容器所占用的系统资源。[docker stats MyWordPress]
三.容器内部命令
登入容器:docker exec + 容器名 + 容器内执行的命令
[docker exec MyPressWord ps aux]
连续执行命令: 加上 -it 参数,等于root用户登入,连续执行命令,用exit退出
[docker exec -it MyPressWord /bin/bash]
多容器管理
多个容器一起组成的系统,--link 来建立容器之前的联系。创建containerB 需要--link contatnerA时,contaunerA必须已经创建好并启动运行。
启动也需要求先后顺序: 停止的先后顺序:
docker start containerA docker stop containerB
docker start containerB docker stop containerA
一.Docker Compose 容器编排工具
使用YAML格式的模版来定义一组相关联的应用容器,这组容器会根据--link等参数对启动优先级自动排序。执行 docket-compose up 即可启动完成。
安装Docker Compose:
sudo curl -L https://github.com/docker/conpose/releases/download/1.6.0/docker-compose-uname -m
> /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose.yml内容格式如下:
wordpress:
image: wordpress
link:
- db:mysql
ports:
- 8080:80
db:
image:mariadb
environment:
MYSQL_ROOT_PASSWORD: example
容器之间的依赖,若依赖为一个容器中的某个进程,则需要等待这个进程启动之后,才能启动containerB,启动容器不等于启动进程。这一方面Docker Compose无能为力
二.配置文件
默认的Docker Compose配置文件名为docker-compose.yml,我们也可以使用 -f 参数指定配置文件
Docker Compose启动多容器项目之后,我们可以使用docker-compose来进行查询,启动,停止等操作(使用 -f 指定docker-compose.yml )docker-compose -f ~/docker-compose.yml start[stop/down/ps]
网友评论