Docker入门之docker的相关概念以及命令

Docker的基础概念

  1. images:镜像,在docker种,images是所有的容器得以运行的基础存在,是容器的静态性的存在。
  2. container:容器,在docker中占据主要地位的程序。实质上是一个进程,是镜像实例化后的实体存在。是我们使用docker的过程中实际操作的主体。
  3. registry:镜像仓库,存放镜像文件的仓库。
  4. 三者之间的关系:images存储在registry中;images实例化后的进程称为container;container最后可以重新打包为可用的images。
  5. container的生命周期:容器其实本质是Host宿主机的进程,操作系统对于进程的管理是基于进程的状态切换的,进程从创建到销毁可能经过的路径图可以称之为“生命周期”。因此也就不难想到,其实对容器的管理也应该有一套状态以及状态转移的条件,这就是Docker容器的生命周期。
    容器的生命周期就是容器实例化时所执行的命令的进程的寿命周期,若命令所产生的进程结束,则容器的生命周期也结束。

Docker的基础操作命令

关于images

1.搜索镜像
docker search 参数 网站/镜像名 网站以及参数均为可选

  • –limit 数字 限制只看前几个
    –filter is-automated=true 社区版本
    –filter is-official=true 官方版本
    –no-trunc 展开详细描述信息
[root@dockerC ~]# docker search flannel
NAME                                  DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
jmgao1983/flannel                     from quay.io/coreos/flannel                     10                   [OK]
lizhenliang/flannel                                                                   3                    
easzlab/flannel                       from quay.io/coreos/flannel                     2                    

NAME 是镜像名,格式
DESCRIPTION 是对镜像的描述
STARS 指被点赞收藏的次数
OFFICIAL 是否是docker官方发布
AUTOMATED 是指自动构建

2.下载镜像
docker pull 网站/作者/base系统:版本
一般从默认的镜像仓库中下载,若需要从其他网址下载需要添加网址

docker pull httpd

3.删除镜像
docker rmi -f 镜像名

docker rmi -f httpd

4.将镜像保存到本地
docker save -o 文件名.tar 镜像名
-o 文件名.tar 是指定输出的位置

docker save -o test.tar httpd

5.导入镜像到本地
docker load -input 文件名.tar
-input 文件名.tar 是从指定文件导入镜像
docker load < 文件名.tar

docker load -input test.tar
docker load < test.tar

6.查看下载的镜像

docker images

7.查看镜像的标签
此命令docker不会自带,可以自己写一个shell文件来实现这个功能

vim /usr/local/bin/dockerunknow.sh
#!/bin/sh
#
# Simple script that will display docker repository tags.
#
# Usage:
#   $ docker-show-repo-tags.sh ubuntu centos
for Repo in $* ; do
  curl -s -S "https://registry.hub.docker.com/v2/repositories/library/$Repo/tags/" | \
    sed -e 's/,/,\n/g' -e 's/\[/\[\n/g' | \
    grep '"name"' | \
    awk -F\" '{print $4;}' | \
    sort -fu | \
    sed -e "s/^/${Repo}:/"
done

然后将此文件添加可执行权限

chmod a+x /usr/local/bin/docker-tags

这条命令的命令关键字就是shell文件的文件名,使用的格式为:
文件名即命令关键字 镜像名

关于container

1.将镜像实例化,即运行容器
docker run 参数 镜像名 shell环境

  • -d: 后台运行容器,并返回容器ID;
    -i: 以交互模式运行容器,通常与 -t 同时使用;
    -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    -P: 随机端口映射,容器内部端口随机映射到主机的端口
    -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    –name web1 为容器指定一个名称;
    –dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致;
    –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
    –hostname: 指定容器的hostname;
    -e 变量名=“values”: 设置环境变量;
    –env-file=[文件路径 ]: 从指定路径的文件读入环境变量;
    –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
    –link=[ ]: 添加链接到另一个容器;
    –expose=[ ]: 开放一个端口或一组端口;
    –volume , -v: 绑定一个卷
    –rm 退出后删除掉这个容器

格式:docker run -itd –name 容器名 –hostname 主机名 镜像名 选择的shell环境
例如:

docker run -itd --name test --hostname web httpd /bin/bash

2.列出服务器中存在的容器
docker ps -a (可以查看所有状态的容器)
docker ps(只能查看到在运行的容器)

3.创建容器
docker create -it --name 容器名 镜像 /bin/bash
创建后处于created状态,需要手动启动

4.容器状态管理命令
开启容器 docker start 容器名
重启容器 docker restart 容器名
关闭容器 docker stop 容器名
强行关闭容器 docker kill 容器名
挂起容器 docker pause 容器名
唤起挂起容器 docker unpause 容器名

5.连接容器命令
docker attach 容器名(退出后会被关闭)
docker exec -it 容器名 /bin/bash (退出后容器仍在运行)
正常情况下exec代表执行的意思
最简单的执行格式docker exec 容器名 命令
docker exec -it 容器名 /bin/bash相当于打开了一个新的bash窗口
强制退出容器 快捷键ctrl+p ctrl+q

6.安装命令所需软件包的命令
查看命令属于哪个软件包 yum provides 命令关键字
yum -y install 软件包名称 安装命令所需的软件包

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值