资讯专栏INFORMATION COLUMN

Docker入门学习

Carl / 1973人阅读

摘要:一核心组件客户端和服务端镜像容器二关键概念以镜像为基础,在镜像的基础上创建运行容器,可以简单的理解为容器是镜像运行时的表现。

一、docker核心组件
docker客户端和服务端
docker镜像
registry
docker容器
二、关键概念
docker以镜像为基础,在镜像的基础上创建、运行容器,可以简单的理解为容器是镜像运行时的表现。
三、docker基本命令

容器相关

1、docker run --name container_name -i -t ubuntu /bin/bash (创建一个交互式容器)
      docker run 命令指的是运行某一个镜像,这里指ubuntu镜像
      --name 参数用于指定即将创建运行的容器的名称(唯一)
      -i 参数指的是以镜像运行的容器中的标准输入是打开的
      -t 参数指的是为创建的容器分配tty终端
      /bin/bash 命令指的是容器创建完毕启动的命令    

2、docker start containerId/containerName
      重新启动容器(docker重启时,会沿用docker run命令时指定的参数来运行)

3、docker stop containerId/containerName
      停止容器

4、docker run --name daemon_dave -d ubuntu(守护式容器)
      -d 参数说明该容器在后台运行

5、docker logs [options] containerId/containerName
      docker logs containerId/containerName:输出此容器的log
      -f 参数 动态打印容器运行时的log日志
      -tf 参数 给日志添加时间
      --tail number 参数用于获取日志的最后几行内容

6、docker top containerId/containerName
      查看容器内部运行的进程

7、docker exec [options] containerId/containerName [shell]
      docker exec:在容器内部额外启动新进程
      -d: 后台进程
      -i -t:交互式进程

8、docker run --restart=[param] ...
      --restart=always:无论容器退出码是多少,都自动重启容器
      --restart=on-failure:5:当退出码是非0时,自动重启5次
       
9、docker ps
      docker ps 命令显示当前正在运行的容器
      docker ps -a 显示所有容器
      docker ps -l 显示最新创建的一个容器
      docker ps -l -q 显示最新创建的一个容器的id

10、docker run -p/-P
      -p:
          8080:80 将容器内的80端口绑定到了本地宿主机的8080端口
          127.0.0.1:8080:80 将容器内的80端口绑定到了本地宿主机的127.0.0.1这个IP的8080端口
          127.0.0.1::80 将容器内的80端口绑定到了本地宿主机的127.0.0.1这个IP的一个随机端口
      -P:
          将容器内的80端口对本地宿主机公开,并且绑定到宿主机的一个随机端口上

11、docker inspect containerId/containerName
      查看容器详细信息

12、docker port containerId/containerName
      查看容器端口映射情况

镜像相关

1、docker images
      docker images:查找docker宿主机所有的镜像,后面加镜像名可查看指定镜像的信息

2、docker search XXX
      用于查看XXX相关的镜像
      镜像一般存储在镜像仓库中(用户仓库:用户名/仓库名),并打上标签

3、docker commit
      docker commit:构建镜像
      docker commit -m "A new custom image" -a "James Turnbull" [容器Id] [仓库名/镜像名:tag]
        -m:提交信息
        -a:提交人信息

4、基于dockerfile构建镜像
      docker build -t="仓库名/镜像名:tag" .
      .:代表从当前目录下查找Dockerfile,也可以指定git仓库

5、dockerfile命令
      CMD:
           指定容器要启动时要运行的命令,一个dockerfile只有一个CMD命令生效,
           且如果docker run时指定了命令,会覆盖dockerfile的CDM指定的命令。
      ENTRYPOINT:
           指定容易启动时要运行的命令,一般不会被覆盖,可以通过docker run --entrypoint覆盖
      WORKDIR:
            dockerfile后续指令的工作目录
      EVN:
            ENV TARGET_DIR /opt/app:指定环境变量
      VOLUME:
             用来向基于镜像创建的容器添加卷,
             让我们可以将数据(如源代码)、数据库或者其他内容添加到镜像中而不是将这些内容提交到镜像中,并且允许我们在多个容器间共享这些内容
      ADD:
             用来将构建环境下的文件和目录复制到镜像中。
             ADD 源文件 目的文件位置
      COPY:
       ARG:
             用来定义可以在docker build命令运行时传递给构建运行时的变量,我们只需要在构建时使用--build-arg标志即可

以上内容参考了《第一本Docker书》,如果有不正确的地方,欢迎指出

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/28040.html

相关文章

  • AI开发书籍分享

    摘要:编程书籍的整理和收集最近一直在学习深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后也找了很多的书和文章,随着不断的学习,也整理了下自己的学习笔记准备分享出来给大家后续的文章和总结会继续分享,先分享一部分的 编程书籍的整理和收集 最近一直在学习deep learning深度学习和机器学习的东西,发现深入地去学习就需要不断的去提高自己算法和高数的能力然后...

    huayeluoliuhen 评论0 收藏0

发表评论

0条评论

Carl

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<