docker常用命令

docker安装

  1. centOS https://docs.docker.com/engine/install/centos/

  2. 启动docker
    systemctl start docker

  3. 默认以守护进程的方式运行

  4. 检查docker是否运行, docker info 或者 docker run hello-world

docker容器常用命令
  1. 查看docker程序运行正常 docker info
  2. 运行容器, docker run 镜像名
    1. docker run -t -i ubuntu /bin/bash
    2. -i 表示保证容器的stain开始,
    3. -t 分配一个伪tty终端,提供一个交互式shell
    4. -p 指定端口
  3. 退出交互容器, exit ,如果是交互式容器退出之后,容器也就关闭了
  4. 查看运行中的容器, dokcer ps
    1. -a 查看全部容器
    2. -l 列出最后运行的容器
    3. –format 控制输出的信息,
    4. –name 指定容器名称,不指定系统默认分配 容器名称必须唯一,否者会创建失败,
    5. 3种方式的唯一指定容器, 短id(UUID), 长id(UUID),名称
  5. 重启容器, docker start 容器名 或者 docker restart 容器名
    1. 重启容器的话,默认会议后台方式运行容器
    2. 通过参数 -a 进行交互式的会话
  6. 附着容器, docker attach 容器名
    1. 通过attach命令,就可以打开一个交互式的shell窗口,
  7. 创建守护式容器 docker run -d
    1. -d 后台运行容器
    2. docker run --name docker_test -d ubuntu /bin/sh -c “while true; do echo hello world”; done"
    3. 启动一个后台执行的容器,每秒输出 hello word
    4. 通过 docker ps 查看 status
  8. 查看日志 docker logs 容器名
    1. docker logs docker_test
    2. -f 参数 持续输出,监控日志, docker logs -f
    3. 输出最后多少行, docker logs -100f
    4. docker 日志驱动 --logs-driver
    5. docker run --log-driver=“syslog” --name docker_test -d ubuntu /bin/sh -c “while true; do echo hello world”; done"
  9. 查看容器进程, docker top
  10. 查看容器状态,docker stat
    1. 查看机器的cpu使用率,网络IO 内存IO情况
  11. 在容器内额外启动新进程, docker exec
    1. docker在容器内可以启动两种进程,后台式任务,和交互式人物
    2. 后台式任务,通过 -d 参数指定 docker exec -d chenghui_docker touch /etc/new_config_file
    交互式任务, 通过 -i -t 指定
  12. 停止容器, docker stop 容器名/ 容器ID
    1. docker stop chenghui_docker
    2. stop是向容器发送一个停止的指令
  13. 快速停止容器, docker kill
    1. docker kill chenghui_docker
  14. 自动重启容器 ,通过run --restart
    1. docker run --retart=always
  15. 查询容器的详细配置信息, docker inspect
  16. 删除容器, docker rm 容器ID
  17. 删除所有容器,docker rm docker ps -a -q
    1. -a 标识列出所有容器
    2. -q 表示只返回id
    3. 一定是` 不是单引号

镜像相关命令

  1. 查看镜像列表 docker images
    1. docker 镜像位置在 /var/lib/docker目录下
    2. 镜像从registry中下载下来, 公共的镜像仓库就是 docker Hub(类似git仓库)
  2. 从远程仓库下载镜像文件, docker pull 镜像名:标签,
    1. docker pull 镜像名
    2. 不指定标签,默认最新版本
    3. 获取镜像通过 镜像名+标签
  3. docker 镜像 tag功能,
    1. 每个镜像在带出来的时候带一个标签 例:12.04
    2. latest 标识最新
  4. 查找镜像, docker search
    1. docker search redis
  5. 登录 docker hub docker login
    1. 用户的认证信息保存在 ~/docker/config.json
  6. 退出 docker hub docker logout
  7. 构建镜像
    1. 提交镜像, docker commit
    1. 对已有的镜像修改之后,通过commit进行提交
    2. docker commit 容器ID 镜像名
    3. docker commit 465b9ef976ae docker1ch/apache2
    4. docker images 查看
    5. -m 参数指定提交信心 -m ‘提交’
    6. -a 参数指定作者信息
    7. :tag 打标签
    8. commit 是提交到本地
  8. 通过Dockerfile + docker build 构建docker镜像
    1. 新建Dockerfile 文件
    2. Dockerfile FROM第一条指定,必须有,用来指定基础镜像
    3. RUN 表示 要执行的指令
    4. EXPOSE 表示要开放的端口
    5. docker build -t=“仓库/镜像名” 目录位置
    6. docker build -t=“docker1ch/static_web” .
    7. 查看构建历史, docker history
  9. docker -p 表示docker运行时公开端口号给外部宿主机
    1. docker -p 80
    2. 两种分配策略
      1. docker容器在宿主机上随机选择 32768 - 61000中比较大的端口映射到80
      2. 指定宿主机的端口映射到容器的80上边
    3. docker查看端口号, docker port
  10. 推送到docker hub docker push 镜像名
    1. docker push docker1ch/static_web
  11. 删除镜像 docker rmi 镜像名
    1. docker rmi static_web
    2. 删除多个镜像, docker rmi ·docker images -a -q·
    3. 不能删除基于当前镜像正在运行的容器
  12. 挂载卷, docker run -v
    1. -v 允许把宿主机的目录作为卷挂载到容器中
    2. -v 指定两个目录,中间用 : 分割 ; 如果容器目录不存在,那么会自动创建一个
    3. 通过 rw 或者ro 指定读写
    4. 卷的概念
      1. 卷是一个容器或者多个容器内被选定的目录
      2. 可以绕过分层联合系统,为docker容器提供持久化的数据 或者共享数据
      3. 卷的修复是实时生效的
      4. 卷可以绕过镜像,卷不被包含在镜像内
      5. 卷可以在容器内共享
      6. 容器停止,卷也存在
  13. Dockerfile指令
    1. CMD

其他

uname -a 查看内核版本

docker 安装mysql

docker run -d --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
进入容器
docker exec -it mysql bash

docker 安装redis

docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf
-v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值