client

发布时间: 更新时间: 总字数:963 阅读时间:2m 作者: 分享 复制网址

Docker 容器 client 使用介绍。

docker images

Docker image 镜像采用联合加载 unit mount,存储位置 /var/lib/docker

docker info

列出镜像

docker images [OPTSIONS] [REPOSITORY]

镜像的标签和仓库:

  • -a, –all=false

  • -f, –filter=[]

  • –no-trunc=false # 截断唯一iD

  • -q,-quiet=false #

  • REPOSITORY # 仓库,一系列关联镜像的集合

  • REGISTRY # Docker 镜像的存储服务

查看镜像

docker inspect [OPTIONS] container|image [container|image...]

-f, --format=""
docker inspect ubuntu:14.01

删除镜像

docker rmi [OPTIONS] IMAGRE [IMAGE...]
  • -f, –force=false 强力删除镜像
  • –no-prune=false Donot delete untagged parents
docker rmi $(docker images -q ubuntu)

dokcer push/pull

查找镜像

Docker Hub

docker search [OPTIONS] term
--automated=false Only show automated builds
--no-trunc=false Don't truncate output
-s, --stars=0 Only displays with at least x stars
最多返回25个结果

拉取镜像

docker pull [OPTION] NAME [:TAG]
-a, --all-tags=false Download all tagged images in the repository

使用 --registry-mirror 选项

  1. 修改:/etc/default/docker
  2. 添加:DOCKER_OPTS="--registry-mirror=http://mirror.addr"

推送镜像

docker push NAME [:TAG]

docker push xiexianbin/nginx

dokcer run 启动容器

docker run IMAGE [COMMAND] [ARG...]

run 在新容器中执行命令

docker run unbuntu echo "Hello world"
  • Windows 机器执行目录挂载,参考
# Issue in windows: the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'

echo "alias docker='winpty docker'" >> ~/.bashrc
docker run -it --rm \
  -w "/go/src/github.com/cosmtrek/hub" \
  -v ${pwd}:/go/src/github.com/cosmtrek/hub \
  -p 8000:8000 \
  cosmtrek/air

启动交互式容器

docker run -i -t IMAGE /bin/bash

-i –interactive=true | false 默认是false -t –tty=true | false 默认是false

查看容器

docker ps [-a] [-l]
docker inspect id/name

自定义容器名

docker run --name=自定义名 -t -i IMAGE /bin/bash
docker run --name=container01 -t -i unbunt /bin/bash
docker ps -l

重新启动停止的容器

docker start [-i] ID/NAME
docker rm ID/NAME

PS:仅能删除停止的容器

什么是守护式容器

  • 能够长期运行
  • 没有交互式会话
  • 适合运行应用程序和服务

以守护形式运行容器

docker run -i -t IMAGE /bin/bash

Ctrl + P Ctrl + Q 组合键退出,不使用exit

重庆进入:

docker attach ID/NAME

docker ps 查看

启动守护式容器

docker run -d IMAGE [COMMAND] [ARG...]
docker run --name dc1 -d unbunt /bin/sh -c "while true; do echo hello world; sleep 1; done"

查看容器日志

docker logs [-f] [-t] [-tail] 容器名
  • -f –follows=true | false 默认为false
  • -t –timestamps=true | false默认为false
  • –tail=“all”
docker logs -tf --tail 10 dc1

查看容器中的进程

docker top dc1

在运行的容器中启动新进程

docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
docker exec -i -t dc1 /bin/bash
docker top dc1
  • 指定root用户登录容器
docker exec -it -u root 容器名 /bin/bash

停止守护式容器

docker stop 容器名 ## 发送终止信号,等待停止
docker kill 容器名 ## 直接kill

使用Docker帮助文件

man docker-run
man docker-logs
man docker-top
man docker-exec

在容器中部署静态网站

设置容器的端口映射

run [-P] [-p]
-P,--publish-all=true|false 默认为false
docker run -P -i -t ubuntu /bin/bash

-p --publish=[]
containerport
  docker run -p 80 -i -t ubuntu /bin/bash # 宿主机端口随机映射

hostPort:containerPort
  docker run -p 8080:8080 -i -t ubuntu /bin/bash # 宿主机端口与容器端口意义映射

ip::containerPort
  docker run -p 0000:80 -i -t ubuntu /bin/bash # 指定容器端口

ip:hostPort:containerPort
 docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash # 指定host ip + 端口和容器端口
docker port 容器名 # 查看端口映射情况
docker exec web nginx
docker top web

PS:停止容器并重新启动是,IP映射会发生变化

启动应用

docker run -p 80 --name web -i -t ubuntu /bin/bash
apt-get install nginx

磁盘使用

docker system df
  • cleanup the docker file
docker system prune -f -a
docker system prune --force
最新评论
加载中...
Home Archives Categories Tags Statistics