MENU

Docker中一些常用命令

2021 年 05 月 11 日 • 阅读: 2476 • Centos,服务器相关,技术文章

1. 启动 docker

  • systemctl start docker.service

2. 登录 docker-hub

  • docker login

3. 提交仓库

  • docker tag [镜像名称]:[镜像版本号]
如:docker tag centos:7

4. 上传

  • docker push [镜像名称]:[镜像版本号]

5. 查看镜像

  • docker search [镜像名称]:[镜像版本号]

6. 拉取镜像

  • docker pull 镜像名称:版本号
如:docker pull centos:7

7. 查看本地镜像

  • docker images

8. 删除镜像

  • docker rmi [镜像名称]

9. 列出容器

  • docker ps [OPTIONS]

OPTIONS 说明:

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • --format :指定返回值的模板文件。
  • -l :显示最近创建的容器。
  • -n :列出最近创建的n个容器。
  • --no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小
  • 如果不带OPTIONS则列出所有在运行的容器信息

10. 创建容器

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

OPTIONS 说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="nginx-lb": 为容器指定一个名称;
  • --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h "mars": 指定容器的hostname;
  • -e username="ritchie": 设置环境变量;
  • --env-file=[]: 从指定文件读入环境变量;
  • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • --link=[]: 添加链接到另一个容器;
  • --expose=[]: 开放一个端口或一组端口;
  • --volume , -v: 绑定一个卷

如: docker run -it -p 80:80 -p 443:443 -p 10022:22 --name 2free centos

11. 在运行的容器中执行命令

  • docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS 说明:

  • -d :分离模式: 在后台运行
  • -i :即使没有附加也保持STDIN 打开
  • -t :分配一个伪终端

如: docker exec -it 2free /bin/bash

12. 从容器创建一个新的镜像 (复制镜像)

  • docker commit [容器名字] [包名字]:tag
如: docker commit 2free 2free:tag
从复制的镜像中创建 如: docker run --name oreo -p 80:80 2free:tag

PS: 其他说明

推送镜像的规范是:

  • docker push 注册用户名(HUB上的)/镜像名

tag 命令修改为规范的镜像:

  • docker tag 镜像名称:TAG 新的名称
如:docker tag centos:7 2free/centos

推送到 HUB

  • docker push 镜像名称:版本
如: docker push 2free/centos:latest

推送容器也是同理

  • docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS 说明:
-a : 提交的镜像作者;
-c : 使用 Dockerfile 指令来创建镜像;
-m : 提交时的说明文字;
-p : 在 commit 时,将容器暂停。
  • docker commit -a "提交者" -m "说明" -p 容器ID 远程HUB帐号/地址:新命名

如:

  • docker commit -a "emran519" -m "宝塔面板整合Nginx、PHP7.4、Mysql5.7,redis服务" -p 容器ID emran519/centos7:bt_panel

最后再 push 下即可;

最后编辑于: 2021 年 05 月 13 日
添加新评论

已有 2 条评论
  1. 你好,看完你的博客文章,感觉很不错!希望与你网站首页友情链接
    流量卡知识网
    http://53go.cn/
    专注于移动 / 联通 / 电信运营商官方推出的大流量多语音活动长短期套餐手机卡的相关知识的介绍普及

    听说互换友情链接可以增加网站的收录量,特此来换,如果同意的话就给 internetyewu@163.com [微信 ganenboy] 发信息或者就在此回复下吧!【建站问题也可以一起讨论!】

  2. 真棒!