容器操作

进入容器

  1. $ docker exec -it {container_name|container_id} /bin/bash

docker-compose 命令

在指定服务上执行一个命令

格式: docker-compose run [options] [-p PORT...] [-e KEY=VAL...] SERVICE [COMMAND] [ARGS...]

例子

  1. $ docker-compose run es ping kibana
  2. PING kibana (172.23.0.3) 56(84) bytes of data.
  3. 64 bytes from kibana-6.8.1.es-681_esnet (172.23.0.3): icmp_seq=1 ttl=64 time=0.155 ms
  4. 64 bytes from kibana-6.8.1.es-681_esnet (172.23.0.3): icmp_seq=2 ttl=64 time=0.132 ms
  5. 64 bytes from kibana-6.8.1.es-681_esnet (172.23.0.3): icmp_seq=3 ttl=64 time=0.193 ms

默认情况下,如果存在关联,则所有关联的服务将会自动被启动,除非这些服务已经在运行中

启动容器

  1. $ docker-compose up -d

-d :-d 参数表示后台启动

停止容器

  1. $ docker-compose stop

volume(数据卷) 命令

查看所有 volume 列表

  1. $ docker volume ls
  2. DRIVER VOLUME NAME
  3. local 2a1fc66564c061d2ca61390aea16479d70d7c9f2c9317415d117b005d0a9019e
  4. local 3df7eaf5f357505fb79962ae516340c8f3c7d0ec7d46aa4778d62203a40ec98e
  5. local 4ff435d57ea668da88c5b6c15d2f87653c72d6bd7ffcedc8ed033381de352ce5
  6. local 5c6491634b6f950454d63e72691d6f9d835b13fb82523db2aa7f92bc0f5d6ea6

创建 volume

  1. $ docker volume create my-vol

**

查看 volume 详情

  1. $ docker volume inspect 2a1fc66564c061d2ca61390aea16479d70d7c9f2c9317415d117b005d0a9019e
  2. [
  3. {
  4. "CreatedAt": "2020-04-30T06:46:56Z",
  5. "Driver": "local",
  6. "Labels": null,
  7. "Mountpoint": "/var/lib/docker/volumes/2a1fc66564c061d2ca61390aea16479d70d7c9f2c9317415d117b005d0a9019e/_data",
  8. "Name": "2a1fc66564c061d2ca61390aea16479d70d7c9f2c9317415d117b005d0a9019e",
  9. "Options": null,
  10. "Scope": "local"
  11. }
  12. ]

删除 volume

  1. $ docker volume rm 2a1fc66564c061d2ca61390aea16479d70d7c9f2c9317415d117b005d0a9019e

启动一个挂在数据卷的容器

  1. # 先创建一个数据卷
  2. $ docker volume create my-vol
  3. vol
  4. # 运行 web 容器,挂在 my-vol 数据卷
  5. $ docker run -d -P \
  6. --name web \
  7. # -v my-vol:/wepapp \
  8. --mount source=my-vol,target=/webapp \
  9. training/webapp \
  10. python app.py