Docker介绍与使用

网友投稿 255 2022-10-17

Docker介绍与使用

Docker介绍

Docker 是一个开源的应用容器引擎,基于 ​​Go 语言​​ 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似现在智能手机的各个APP)更重要的是容器成本开销极低相较而言开发性价比就很高了。

Docker使用场景

1、Web 应用的自动化打包和发布。

2、自动化测试和持续集成、发布。

3、在服务型环境中部署和调整数据库或其他的后台应用。

4、从头编译或扩展现有的OpenShifd或Cloud Foundry 平台来搭建自己的Paas环境。

Docker了解

一、Docker架构基本介绍

Docker包含三部分

镜像(image):相当于一个root文件系统,比如Ubuntu16.04镜像

容器(container):可以理解为启动起来的镜像,比如Ubuntu镜像安装的服务器上就是Ubuntu系统

仓库(repository):可以看作一个代码控制中心,用于保存镜像

二、Docker安装方式

使用官方安装脚本自动安装

安装命令如下:

curl -fsSL | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL | sh

三、Docker的启动停止重启

sudo service docker start    ##启动docker服务

sudo service docker stop     ##停止docker服务

sudo service docker restart  ##重启docker服务

Docker使用

在安装了docker之后,执行的所有命令都以docker开头再加要执行的命令

sheng@ubuntu:~$ sudo docker full ubuntu

##full 此命令的意思是加载一个Ubuntu镜像

sheng@ubuntu:~$ sudo docker run -i -t ubuntu /bin/bash

##run是运行一个指定镜像

-i指定一个终端

-t在标准输入中进行交互,这两个参数一般共同使用

Ubuntu指定的镜像

/bin/bash指定镜像的shell

查看容器信息命令:

sheng@ubuntu:~$ sudo docker ps

##查看当前启动的容器信息

容器信息介绍: CONTAINER ID: 容器 ID。IMAGE: 使用的镜像。COMMAND: 启动容器时运行的命令。CREATED: 容器的创建时间。STATUS: 容器状态。PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。NAMES: 自动分配的容器名称。

其中容器的状态有7中,分别如下:

created(已创建)

restarting(重启中)

running 或 Up(运行中)

removing(迁移中)

paused(暂停)

exited(停止)

dead(死亡)

sheng@ubuntu:~$ sudo docker ps -a

##查看所有存在的容器信息,包括启动或者停止的容器

启动停止重启容器命令:

sheng@ubuntu:~$ sudo docker stop [容器ID]

##停止指定id的容器

sheng@ubuntu:~$ sudo docker start [容器ID]

##启动指定id的容器

sheng@ubuntu:~$ sudo docker restart [容器ID]

##重启指定id的容器

进入容器命令:

sheng@ubuntu:~$ sudo docker attach [容器ID]

##进入指定ID容器,但用exit退出后此容器即变为stop(停止)状态

sheng@ubuntu:~$ sudo docker exec -it [容器ID] /bin/bash

##进入指定ID容器,但用exit退出后此容器还是start(启动)状态,推荐使用此命令进入容器

导入导出容器命令:

sheng@ubuntu:~$ sudo docker export [容器ID] > /opt/test/ubuntu.tar

##export为导出容器命令; /opt/test/ubuntu.tar意思为导出自定义/opt/test路径下命名为Ubuntu.tar快照文件

root@ubuntu:~# cat /opt/test/ubuntu.tar |docker import - ubuntu:kz1

##注意导入镜像时从普通用户切换至root了,因普通用户权限不够会导致导入失败故切换root

此命令的意思是将Ubuntu.tar快照文件读取出来给到import处理,导入到名字为Ubuntu的镜像中,且给此导入的镜像一个kz1的标签

容器操作命令:

sheng@ubuntu:~$ sudo docker rm -f [容器ID]

##删除指定容器

sheng@ubuntu:~$ sudo docker container prune

##清除所有处于终止状态的容器

sheng@ubuntu:~$ sudo docker images

##查看当前有多少镜像信息

运行一个web应用

runoob@runoob:~# docker pull training/webapp  # 载入镜像(training/webapp是web镜像)

runoob@runoob:~# docker run -d -P training/webapp python app.py

##-d:后台运行

-P:将容器内部使用网络端口随机映射到我们使用的主机上

python app.py web应用启动的环境命令

runoob@runoob:~# docker port [容器ID]

##查看此容器端口信息

runoob@runoob:~# docker logs -f [容器ID]

##查看容器内部日志的标准输出,-f意思为像tail -f一样输出容器内部的标准输出

runoob@runoob:~# docker top [容器名称]

##查看容器内部运行的进程

runoob@runoob:~# docker inspect [容器名称]

##查看docker底层信息,返回JSON文件,记录着docker容器的配置和状态信息

runoob@runoob:~# docker ps -l

##查看最后一次创建的容器

runoob@runoob:~# docker rm [容器ID或者名称]

##删除指定容器,但此容器必须是停止状态,否则会报错

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SpringBoot后端上传文件类型检测方式
下一篇:Elasticsearch----使用Docker方式安装Kibana
相关文章

 发表评论

暂时没有评论,来抢沙发吧~