IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker学习笔记 -> 正文阅读

[系统运维]docker学习笔记

一、什么是docker技术

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

比如说我创建了一个docker conbainer,我可以在这个conbainer里面搭建我需要的任何环境,当我需要将这个环境整体进行迁移的时候,我就可以将这个conbainer导出快照,然后根据这个快照就可以创建镜像,再根据镜像去创建一个新的conbainer。那么这个新的conbainer就是完全复制了之前的conbainer。实现了非常方便的可移植性,迁移起来非常的方便。

当然我们也可以采用docker pull的命令来从外部直接获取到一个镜像?

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

二、docker的架构:

docker由三部分组成:

镜像(images)

Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

容器(conbainer)

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository

仓库可看成一个代码控制中心,用来保存镜像。

三、docker常用的命令记录

1、获取镜像

docker pull 镜像名

2、创建并启动容器

docker run -itd --name 容器名 镜像名 /bin/bash
-t    终端
-i    交互式的操作
-d    以后台的形式进行启动
-P    将容器内部使用的网络端口随机映射到我们使用的主机上。
例:docker run -d -p 5000:5000 training/webapp python app.py
--name    为运行的容器起一个名字
/bin/bash    放在镜像名后的是 命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash

3、查看容器

查看所有的容器
docker ps -a

查看在运行的容器
docker ps

查看最后一次创建的容器
docker ps -l

4、启动、关闭、重启容器

启动容器
docker start 容器id或者容器名

关闭容器
docker stop 容器id或者容器名

重启容器
docker restart 容器id或者容器名

docker start 和docker run的区别:
docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start即可。docker run相当于执行了
两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。而docker start的作用是,
重新启动已存在的镜像。也就是说,如果使用这个命令,我们必须事先知道这个容器的ID,或者这个容器的名字。

5、进入容器:

docker exec -it 容器名或容器id /bin/bash
-it    交互终端式进入
/bin/bash    执行的命令

6、导入导出容器

导出容器 即为容器创建一个快照并导出
docker export 容器id或名字 > ./快照名.tar

导出容器 即将快照import成镜像保存在镜像仓库
cat ./快照名.tar | docker import - 镜像名:Tag名
此外,也可以通过指定 URL 或者某个目录来导入,例如:
docker import http://example.com/exampleimage.tgz example/imagerepo

注:Tag就是当容器名称一样,可以用Tag来区别不同的镜像,例如mysql-ubuntu:v1  mysql-ubuntu:v2

7、删除容器

docker rm -f 容器id或容器名

注:删除容器的时候容器必须是停止状态 否则会报错

8、查看容器内部的标准输出

docker logs 容器名或容器id

9、查看容器内部运行的进程

docker top 容器名或容器id

10、查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息

docker inspect 容器名或容器id

11、删除镜像

docker rmi 镜像源:Tag或镜像id

12、创建镜像的几种方式

(1)通过已有的容器打包形式镜像

首先要有一个容器
docker commit -m="描述信息" -a="作者" 容器id或容器名 镜像源:Tag

注:命令 docker commit 来提交容器副本

(2)通过快照形成镜像

如何产生一个快照
docker export 容器id或名字 > ./快照名.tar

使用快照来创建一个镜像
cat ./快照名.tar | docker import - 镜像名:Tag名
此外,也可以通过指定 URL 或者某个目录来导入,例如:
docker import http://example.com/exampleimage.tgz example/imagerepo

(3)直接构建一个镜像----复杂

我们使用命令?docker build?, 从零开始来创建一个新的镜像。为此,我们需要创建一个?Dockerfile?文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

[1] 创建dockerFile文件

vim dockerFile

FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

[2] 使用docker build构建镜像

docker build -t 指定目标镜像名:Tag .
-t    指定要创建的目标镜像名
.    使用的是哪一个dockerFile 这里不能指定到具体的文件名
-f    如果你的文件名不叫Dockerfile的话 需要使用-f来指定文件名

例如:docker build -t ala/centos:6.7 -f ./dockerFile .

13、镜像添加一个新的标签

docker tag 860c279d2fec runoob/centos:dev

注意:是添加一个标签并不是修改

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 12:04:23  更:2021-12-09 12:06:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:46:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码