Docker入门

一、Docker简介

Docker是一个开放源代码软件项目,让应用程序部署在软件货柜下的工作可以自动化进行,借此在Linux操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制。

 

二、Docker Ubuntu安装

在Ubuntu终端中输入安装Docker命令,安装最新版本的Docker

sudo apt-get install docker-ce docker-ce-cli containerd.io

就会自动执行安装程序,由于我的系统已经装好,就不再演示

 

 

三、Docker镜像

Docker镜像可理解为一个面向Docker引擎的只读模板,包含了文件系统。如:一个镜像可以只包含一个完整的操作系统环境,也可以安装了其他的应用程序。通过版本管理和增量的文件系统,Docker提供了一套十分简单的机制来创建和更新现有的镜像。

当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。我们可以从 Docker Hub 网站来搜索镜像,或使用命令docker search [镜像名称] 来搜索镜像,当镜像下载完成后,可以使用以下命令查看本机的镜像

 docker images

-a  列出所有的images(包含历史)

--tree  显示镜像的所有层

我们可以将镜像的内容和创建步骤描述在一个文本文件中,这个文件被称作 Dockerfile ,通过执行 docker build <DockerFile> 命令可以构建出 Docker 镜像

 

 

四、Docker容器

简单一点理解容器和镜像的区别的话,容器类似于主机,而镜像类似于操作系统,一个镜像可以在多个容器中运行,而针对某一个容器的修改,也只会在当前容器中生效

1、查看当前正在运行的容器

docker ps 

-a 查看所有容器

2、查看容器日志

docker logs -f -t --tail 行数 容器名

 

 

五、Docker常用命令

1、使用ubuntu镜像启动容器

docker run [参数] [镜像名称] [命令]

docker run -it ubuntu /bin/bash启动名称为ubuntu的镜像,使用命令-it进行终端的交互式操作,使用命令/bin/bash进行交互式 Shell

-d  后台启动,不进入容器,默认为进入容器

-i   打开标准输入输出,用户控制台

-t  支持终端登录

-u  指定用户

-a  标准输入输出和错误信息

-w  指定工作目录

-c  设置cpu权重

-e  指定环境变量

-m  指定内存上限

-p  指定端口

-h  指定主机名称

-v  挂载存储

--cap-add=[]添加权限

--cap-drop=[]删除权限

--name=""  指定容器名称

--rm   容器停止后自动删除

2、启动一个已经停止的容器

docker start [容器 ID]

3、停止一个运行中的容器

docker stop [容器 ID]

4、重新启动一个容器

docker restart [容器 ID]

5、进入容器

docker attach [容器 ID]
docker exec [容器 ID]

两种方法都可以进入容器,需要注意的是,如果使用docker attach进入容器,则退出时容器也会停止,如果使用docker exec进入容器,则退出时不会导致容器的停止

6、删除容器

docker rm -f [容器 ID]

7、拉取服务器镜像仓库里的镜像,默认拉取最新版本

docker pull [镜像名称]

8、将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

docker push [OPTIONS] NAME[:TAG]

 

 

六、DockerFile

Dockerfile 是自动构建 docker 镜像的配置文件, 用户可以使用 Dockerfile 快速创建自定义的镜像。类似于Linux下程序的MakeFile。

DockerFile基本包含基础镜像,操作指令和启动指令

#从 Docker Hub 上 pull下对应名称版本号的基础镜像
FROM [Docker Name]:[tag]
#维护信息
MAINTAINER [NAME] <email@email.com>
#拷贝当前目录至容器中的目标目录下
COPY . /targetDir
#指定工作目录
WORKDIR /workdir
#安装所需依赖
#端口设置666
EXPOSE 666
ENTRYPOINT ["enter"]
#启动main
CMD ["main"]

 

 

七、DockerFile常用命令

1、镜像来源

FROM <镜像> [AS <名称>]

2、执行命令

RUN ["可执行文件", "参数1", "参数2"]

3、容器启动

CMD ["可执行文件", "参数1", "参数2"...]

4、复制

COPY <源路径>... <目标路径>

5、入口点

ENTRYPOINT ["可执行文件", "参数1", "参数2"]

6、参数

ARG <名称>=<默认值>

默认值可不填

7、设置环境变量

ENV <变量1>=<值1> <变量2>=<值2>...

8、端口声明

EXPOSE <端口>

9、指定工作目录

WORKDIR /workdir

10、保存外部安装卷

VOLUME /test

此 Dockerfile 会生成一个镜像,该镜像会导致 docker run 在 /test 上创建新的挂载点,并将文件复制到新创建的卷中。
11、指定用户

USER <用户名>[:<组>]

12、健康检查

HEALTHCHECK [参数] CMD [命令] (通过在容器内运行命令来检查容器运行状况)
HEALTHCHECK NONE (禁用从基础镜像继承的健康检查)

dockerfile中只能有一个HEALTHCHECK,如果有多个,则只有最后一个会生效

13、退出信号

STOPSIGNAL <信号>

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值