Docker 基于 Go 语言开发,是一个基于 LXC 技术之上构建的 Container 容器引擎。容器是一种以固定格式打包软件的方式,以便让软件可以在共享的操作系统中运行,不同于虚拟机,容器并不需要捆绑这个操作系统,只需要软件正常工作所必须的库和设置即可,这使得容器更加高效、轻量级、可以自成系统并且不管部署在什么地方都可以保证运行结果一致。

概念

Docker 由镜像(Image)、容器(Container)、仓库(Repository) 三部分组成。

镜像

镜像可以简单的类比为电脑装系统用的系统盘,包括操作系统,以及必要的软件。

Docker 镜像 是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像 不包含 任何动态数据,其内容在构建之后也不会被改变。

查看当前所有的镜像

$ docker images

REPOSITORY            TAG          IMAGE ID       CREATED        SIZE
laradock-php-fpm      latest       3f9514182cdd   20 hours ago   769MB
laradock-workspace    latest       13be4b819932   20 hours ago   1.31GB
laradock-nginx        latest       2092b501d031   21 hours ago   38MB
laradock-mysql        latest       576a63b0cd7e   43 hours ago   592MB
docker                20.10-dind   4f666f62a6ef   3 days ago     336MB
laradock-redis        latest       6f4c54cc20a9   6 days ago     111MB
laradock-phpmyadmin   latest       85f19923c3fd   9 days ago     488MB
  • REPOSITORY:仓库名称
  • TAG: 镜像标签,其中 lastest 表示最新版本
  • IMAGE ID:镜像唯一ID
  • CREATED:创建时间
  • SIZE:镜像大小

容器

容器可以简单理解为提供了系统硬件环境,

仓库

Docker 的仓库用于存放镜像,类似 Git。可以从中心仓库下载镜像,也可以从自建仓库下载。同时,我们可以把制作好的镜像 commit 到本地,然后 push 到远程仓库。仓库分为公开仓库和私有仓库,最大的公开仓库是官方仓库 Dock Hub。

安装配置

MacOS

Homebrew 安装

$ brew install --cask docker

下载安装

下载docker安装包进行安装即可

使用

在终端通过命令检查安装后的 Docker 版本在终端通过命令检查安装后的 Docker 版本

$ docker --version

Docker version 20.10.24, build 297e128

常用指令

镜像

查看当前所有的镜像

$ docker images
$ docker image ls
$ docker image ls -a

删除本地镜像

$ docker image rm [选项] <镜像1> [<镜像2> ...]

其中,<镜像> 可以是 镜像短 ID镜像长 ID镜像名 或者 镜像摘要

使用镜像短 ID 删除,一般取前3个字符以上,只要足够区分于别的镜像就可以了

如,删除 laradock-php-fpm 镜像

$ docker images

REPOSITORY            TAG          IMAGE ID       CREATED        SIZE
laradock-php-fpm      latest       3f9514182cdd   20 hours ago   769MB
laradock-workspace    latest       13be4b819932   20 hours ago   1.31GB
laradock-nginx        latest       2092b501d031   21 hours ago   38MB
laradock-mysql        latest       576a63b0cd7e   43 hours ago   592MB
docker                20.10-dind   4f666f62a6ef   3 days ago     336MB
laradock-redis        latest       6f4c54cc20a9   6 days ago     111MB
laradock-phpmyadmin   latest       85f19923c3fd   9 days ago     488MB

$ docker rm 3f9

使用镜像名删除:

$ docker image rm laradock-php-fpm

更精确的是使用 镜像摘要 删除镜像:

$ docker image ls --digests
$ docker image rm ${digests}

容器

查看所有容器

$ docker ps -a

启动容器

新建并启动:

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

启动已终止容器:

$ docker container start [OPTIONS] CONTAINER [CONTAINER...]

终止容器

$ docker container stop [OPTIONS] CONTAINER [CONTAINER...]

进入容器

attach
$ docker attach 243c
exec
$ docker exec -it 69d1 bash

其他

# 查看docker的版本
$ docker -v

# 查看镜像历史
$ docker history

# 查看docker的详细信息
$ docker info

# 构建自己的镜像xx/ownname是自己的托管代码路径
$ docker build -t xx/ownname <Dockerfile路径>

# 进入容器内部查看或操作
$ docker exec it containername /bin/bash

# 查看某容器的详细配置信息
$ docker inspect container-name

# 加载镜像
$ docker load < /home/save.tar

# 登录某镜像平台,默认是hub.docker.com,需要注册账户
$ docker login <daocloud.io>

# 查看容器日志
$ docker logs -f <容器名或ID>

# 暂停某一容器所有进程
$ docker pause <docker name or id>

# 从远程拉取镜像,不带tag视为latest
$ docker pull <镜像名:tag>

# 将镜像推送到远程仓库
$ docker push name:tag

# 删除所有容器
$ docker rm ${docker ps -a -q}

# 删除某容器
$ docker rm -f <容器名或ID>

# 强制删除某镜像
$ docker rmi -f <镜像名或ID>

# 运行一个容器,命名、设置端口映射、后台运行等
$ docker run -it -d -p --name

# 保存镜像
$ docker save busy-box>/home/save.tar

# 标记本地镜像
$ docker tag

# 回复某一容器的所有进程
$ docker unpause <docker name or id>

官方文档:https://docs.docker.com/engine/reference/commandline/docker/


本文由 一切随风 创作,可自由转载、引用,但需署名作者且注明文章出处。

9 条评论

  1. rudihswgxe
    rudihswgxe

    心灵食谱

  2. jfftldqnum
    jfftldqnum

    外星人启示录

  3. sqztjsjoyd
    sqztjsjoyd

    三个秘密

  4. lifusjhble
    lifusjhble

    寻凶

  5. huiyiorqta
    huiyiorqta

    恶行之外

  6. mfjamarhmi
    mfjamarhmi

    狮女传说

  7. oapxstofld
    oapxstofld

    黑衣天使

  8. aucuimgbfg
    aucuimgbfg

    热血地雷战

  9. pabafldvgd
    pabafldvgd

    《魔幻神功》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/57276.html

添加新评论