您现在的位置是:首页 > 正文

《第一本Docker书》读书总结(一)第3章 Docker 入门

2024-02-29 12:47:04阅读 1

用笨办法学习,照着电子书敲了一遍!O(∩_∩)O~

1.查看docker程序是否正常工作

$ sudo docker info
2.创建第一个容器 (第一次创建会下载一些东西比较慢)
$ sudo docker run -i -t ubuntu /bin/bash
root@f7cbdac22a02:/#                // 进入第一个容器了
3.容器使用,跟linux系统没啥区别
(1)检查容器的主机名
root@f7cbdac22a02:/# hostname
f7cbdac22a02
(2)检查容器的/etc/hosts文件
root@f7cbdac22a02:/# cat /etc/hosts
(3)检查容器的进程
root@f7cbdac22a02:/# ps -aux
(4)在第一个容器中安装软件包
root@f7cbdac22a02:/# apt-get update && apt-get install vim
(5)退出容器,容器停止运行
root@f7cbdac22a02:/# exit
4.容器命名
$ sudo docker run --name bob_the_container -i -t ubuntu /bin/bash
root@aa3f365f0f4e:/# exit
$ sudo docker ps -a    //查看一下当前系统容器列表
5.重新启动已经停止的容器,停止启动的容器
$ sudo docker start bob_the_container
$ sudo docker ps -a    //查看一下当前系统容器列表

$ sudo docker stop bob_the_container
$ sudo docker ps -a    //查看一下当前系统容器列表
$ sudo docker start aa3f365f0f4e
$ sudo docker ps -a    //查看一下当前系统容器列表
6.附着到正在运行的容器
$ sudo docker attach bob_the_container
root@aa3f365f0f4e:/# 
7.创建长期运行的容器  //docker run命令使用了-d参数,因此Docker会将容器后台运行
$ sudo docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
$ sudo docker ps -a    //查看一下当前系统容器列表
8.容器内部都在干些什么 (Ctr+C退出)
(1)获取守护式容器的日志
$ sudo docker logs daemon_dave
(2)跟踪守护式容器的日志
$ sudo docker logs -f daemon_dave
(3)跟踪守护式容器的最新日志
$ sudo docker logs -ft daemon_dave
9.查看容器内的进程
$ sudo docker top daemon_dave
10.在容器中运行后台任务
$ sudo docker exec -d daemon_dave + 容器里执行的命令 例如:
$ sudo docker exec -d daemon_dave ls /home/ 
11.停止守护式容器,也可使用kill
$ sudo docker stop daemon_dave 

$ sudo docker stop aa3f365f0f4e
12.自动重启容器(本指令没试验成功)
$ sudo docker run --restart=always --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
13.查看容器
$ sudo docker inspect daemon_dave
有选择的获取容器信息
$ sudo docker inspect --format='{{ .State.Runing }}' daemon_dave
查看容器IP地址
$ sudo docker inspect --format '{{ .NetworkSetings.IPAddress }}' daemon_dave
14. 删除容器
$ sudo docker rm daemon_dave

$ sudo docker rm aa3f365f0f4e
删除所有容器
$ sudo docker rm 'docker ps -a -q' 

网站文章

  • 我的阿里二面,为什么MySQL选Repeatable Read作为默认隔离级别?

    我的阿里二面,为什么MySQL选Repeatable Read作为默认隔离级别?

    关于这几种格式的区别,就不在这里详细展开了,之所以要支持row格式,主要是因为statement格式中存在很多问题,最明显的就是可能会导致主从数据库的数据不一致。太高的就会影响并发度,太低的就有脏读现...

    2024-02-29 12:46:56
  • Three.js 在微信小程序中实现3D展厅 最新发布

    Three.js 在微信小程序中实现3D展厅 最新发布

    Three.js 在微信小程序中实现3D展厅

    2024-02-29 12:46:29
  • generator异步

    1. generator的使用const fs = require('fs')function * gen(data) { let a = yield data console.log(a) let b = yield a console.log(b)}let it = gen(123)it.next() //第一个next传参没有意义it.next(456) /...

    2024-02-29 12:46:21
  • autoit几行代码实现QQ自动发送消息,点赞,去空间留言。

    autoit几行代码实现QQ自动发送消息,点赞,去空间留言。

    情不知所起一往而深!所以呢,每天必须留言,点赞,去空间。我想我可是擅长(装逼)自动化的啊,怎么能,像这些重复的事情怎么能去干呢,第一个想到的是appium,好久不弄了,算了不想拾起了。马上想到,以前做...

    2024-02-29 12:46:15
  • c++11 mutex使用。

    转自:http://www.cplusplus.com/reference/mutex/mutex/// mutex example#include <iostream> // std::cout#include <thread> // std::thread#include <mutex> // std::m...

    2024-02-29 12:45:46
  • MySQL存储过程:包含输入和输出

    MySQL存储过程:包含输入和输出

    MySQL存储过程:包含输入和输出DELIMITER $$ DROP PROCEDURE IF EXISTS `p_integral_freeze_product_type_modify` $$ CREATE PROCEDURE p_integral_freeze_product_type_modify (IN `in_contractId` BIGINT ,IN `in_contractAp

    2024-02-29 12:45:39
  • 如何使用vue2 实现截图的功能? 最新发布

    如何使用vue2 实现截图的功能? 最新发布

    这就是在Vue 2中实现截图功能的基本步骤。你可以根据具体需求进一步扩展和优化这个功能。请注意,截图功能可能需要用户的许可,因此请确保遵守隐私和安全相关的法律和规定。

    2024-02-29 12:45:31
  • 2017中国大学生程序设计竞赛 - 女生专场

    题意:给你测试数据数,题目数和提交次数,及每次提交的题目ID,时间和结果,求所用总时间.计算规则:若AC了题目,则用AC时时间+之前该题提交非正确次数*20有个坑,即使一个题目错了1w次,最后没有AC,那些罚时讲不会计算.思路:用两个数组,一个标记题目是否AC,另一个数组记录AC前不正确提交次数.

    2024-02-29 12:45:24
  • java自定义sql 格式化工具

    /** * @author :范春宇 * @date :Created in 2021/11/3 20:06 * @description: sql占位符替换工具类 * @modified By: *...

    2024-02-29 12:44:58
  • C/C++内存知识(一)

    C/C++内存知识(一)

      一个由C/C++编译的程序占用的内存分为以下几个部分   1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。   2、堆区(heap)— 由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。   3、全局区(静态区)(s...

    2024-02-29 12:44:53