Dcoker 入门

确保docker 已经安装好了,如没有装好的可以参考:Docker | 安装

运行第一个容器

	docker run -it ubuntu /bin/bash

docker run :运行容器的命令。

-i: 保证容器中的 STDIN标准输入是开启的。

-t:为容器分配置一个伪tty终端。

ubuntu: 容器的镜像名称,如不指定版本号,则为最新稳定版本。

/bin/bash: 指定终端的脚本解析器为 bash

在这个容器中,所有的操作和普通的 ubunt机器一样,所有的操作都可以正常进行,并且docker还会为这个容器分配 ip,可以通过: cat /etc/hosts查看。

也可以安装软件:

当执行完操作后,我们可以通过 exit退出。

容器命名

如果我们在使用命令时,一直使用 docker id 的话,会非常的不方便操作,随然docker 会为容器生成一个随机命名,但并不方便我们记忆,所以我们可以为我们创建的容器命名,命令:docker run --name ubuntu_test -it ubuntu /bin/bash

查看容器 & 启动容器

查看自己的所有容器,命令:docker ps -a

查看自己所有运行中的容器,命令:docker ps

启动已经停止运行的容器,命令:`docker start [docker name]|[docker id]

停止运行的容器,命令:`docker stop [docker name]|[docker id]

能过命令重新附着到运行的容器中,命令:docker attach [docker name]|[docker id]

创建守护式容器

我们在正常使用中,希望容器都可以一直运行一去,但是我们上面的容器,都是交互式容器,只要用户一退出,容器就自动关闭了,所以我们需要创建实护式的容器,当我们退出以后也可以一直运行下去。

	docker run -d --name ubunut_docker_test ubuntu /bin/sh -c "while true;do echo hello world; sleep 1;done;"

查看容器中输出的日志,命令:docker logs [docker name]|[docker id]

我们也可以添加参数查看日志:

-f:一直监控日志进行查看。

-t:在日志每一行前面加上时间戳。

查看容器内部进程,命令:docker top [docker name]|[docker id]

在容器内部运行命令

我们可以在容器外面直接运行命令对容器内部进行操作。

	docker exec -d [docker id]|[docker name] (common)

例如:

	docker exec -d ubunut_docker_test mkdir /tmp/ubunut_docker_test

没有输出,说明已经执行成功了,但是日志无法输出,我们如果想要看效果的话,只能去容器内部查看。可以通过命令进入容器内部。

进入守护式容器内部

	# 格式
docker exec -it [docker name]|[docker id] /bin/bash
	docker exec -it ubunut_docker_test /bin/bash

查看容器的信息

我们平时,除了可以通过 docker ps查看命令的大致信息外,我们还可以通过 docker inspect [docker name]|[docker id]来查看单个容器的详细信息:

Docker 的基本操作

  • 查看所有运行中的镜像:
    docker ps
  • 查看本地所有的镜像:
    docker ps -a
  • 运行镜像:
    docker start 镜像名|镜像ID
  • 停止镜像:
    docker stop 镜像名|镜像ID
  • 删除镜像:
    docker rm 镜像名|镜像ID
  • 得到所有的镜像ID
    docker ps -a -q
  • 运行所有镜像:
    docker start $(docker ps -a -q)
  • 停止所有镜像:
    docker stop $(docker ps -a -q)
  • 删除所有镜像:
    docker rm $(docker ps -a -q)

细节决定成败!

个人愚见,如有不对,恳请扶正!

最新文章

  1. 给定时器settimeout、setInterval调用传递参数
  2. 在VS的EF中连接MySQL
  3. 004.UDP--拼接UDP数据包,构造ip头和udp头通信(使用原始套接字)
  4. iOS 开发多线程篇—GCD的常见用法
  5. Spring MVC和Struts2的比较的优点
  6. Android 4.3正式发布:四大新功能一览
  7. JsRender系列demo(9)自定义函数
  8. Linux环境下添加ftp账号步骤
  9. 【USACO 3.2.4】饲料调配
  10. android ScrollView--Linearlayout可以上下拖动
  11. Bootstrap学习笔记(二)---常见工具和流程导航范例
  12. 利用FPN构建Faster R-CNN检测
  13. 在lua中创建字段安全的对象
  14. Git常见使用方法
  15. 布局:上下两个div高度固定,中间自适应
  16. 转(C# 实现生产者消费者队列)
  17. 自定义模板类型vs模板类型自动推测
  18. 2017ACM暑期多校联合训练 - Team 9 1005 HDU 6165 FFF at Valentine (dfs)
  19. java总结(1)——java的特点
  20. Scrum立会报告+燃尽图(Beta阶段第七次)

热门文章

  1. intouch制作历史趋势公用弹窗
  2. mysql查看当前连接数
  3. QT常用控件(三)——自定义控件封装
  4. ClickHouse与ES的优劣对比
  5. Maven-内部多个项目依赖自动升级版本的部署
  6. OpenFaaS实战之七:java11模板解析
  7. python3中的希尔排序
  8. 漏洞分析:CVE 2021-3156
  9. 智能合约审计-不安全的delegatecall
  10. k8s之Service详解-Service使用