极速上手使用Docker,这篇文章就够了!

简介: Docker是一个提供集中式平台来执行应用程序的软件。它将软件包装成一个完整的标准化单元,其中包含所有要运行的内容。无论是代码,运行时环境,工具还是程序库。它保证软件能始终按预期那样运行...

 

网络异常,图片无法展示
|
image.gif

image.gif

Docker是一个提供集中式平台来执行应用程序的软件。它将软件包装成一个完整的标准化单元,其中包含所有要运行的内容。无论是代码,运行时环境,工具还是程序库。它保证软件能始终按预期那样运行。它提供了一种称为容器的隔离环境中运行应用程序的功能。我们可以在主机上同时运行多个容器。并且它是轻量级的,可以立即启动并使用较少的内存。很安全,每个容器彼此分离。本文将带大家了解如何使用Docker,从而为我们的生产效率得到提升。

01

Docker使用前提

1

环境要求

在此之前我们需要查看环境是否符合要求(机器必须是64位,linux的版本必须大于等于3.10)

$ uname -r

image.gif

02

Docker的安装

2

安装步骤

2.1

Docker要求CentOS系统的内核版本高于3.10,查看前提条件验证你的CentOS版本是否支持Docker。通过uname -r 命令查看你当前的内核版本

$ uname -r

image.gif

2.2

使用root权限登录CentOS。确保yum包更新到最新。

$ sudo yum update

image.gif

2.3

卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker docker-common docker-selinux docker-engine

image.gif

2.4

安装需要的软件包,yum-util提供yum-config-manager,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

image.gif

2.5

设置yum源

$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

image.gif

网络异常,图片无法展示
|
image.gif

2.6

可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r

image.gif

网络异常,图片无法展示
|
image.gif

2.7

安装docker

$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

image.gif

网络异常,图片无法展示
|
image.gif

2.8

启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

image.gif

2.9

验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

image.gif

网络异常,图片无法展示
|
image.gif

注意

因为之前安装过旧版本的docker,在安装的时候报错如下:

Transaction check error:
  file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

image.gif

卸载旧版本的包

$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

image.gif

网络异常,图片无法展示
|
image.gif

再次安装docker

$ sudo yum install docker-ce

image.gif

03

Docker的使用

3

使用流程

3.1 从仓库中获取镜像(国外去下载)

docker pull centos:6.6

image.gif

3.2 从国外的镜像上下载

docker pull daocloud.io/centos:6.6

image.gif

3.3 查看镜像

docker images

image.gif

3.4 镜像的搜索

docker search centos

image.gif

3.5 镜像的创建

docker commit  / docker build 和Dockerfile 来创建
    3.5.1:通过commit来创建(运行刚刚下载的镜像)
    docker run -it 镜像名字 /bin/bash
    eg: docker run -it centos:6.6 /bin/bash
    3.5.2:在centos中安装tar 并提交
     docker run -it centos:6.6 /bin/bash
     yum install tar
    docker commit 实例的名字 自己的取的名字:6.6
    docker ps -a :查看当前正在运行的实例
    docker images
  3.5.3:查看镜像的详情信息
  docker inspect 镜像的id
  3.5.4:删除镜像
  docker rmi --force 镜像id 强制删除某一个镜像
  3.5.5:删除容器
  docker rm 容器id

image.gif

04

创建镜像(Dockerfile)

4

创建镜像

4.1 准备环境

4.1.1:将Tomcat和jdk拷贝到/usr/local/docker-content中
        4.1.2:解压文件
             tar -zxvf ....

image.gif

4.2 创建Dockerfile文件

FROM centos:6.6
#copy file
RUN mkdir -p /home/demo
ADD ./jdk-8u20-linux-x64.gz /home/demo
ADD ./apache-tomcat-9.0.10.tar.gz /home/demo
ENV JAVA_HOME /home/demo/jdk1.8.0_20
ENV PATH $JAVA_HOME/bin:$PATH
ENV LANG en_us.UTF-8
#EXPOSE
EXPOSE 8080
#init tomcat
ENTRYPOINT /home/demo/apache-tomcat-9.0.10/bin/startup.sh && tail -f /home/demo/apache-tomcat-9.0.10/logs/catalina.out

image.gif

4.3 创建镜像

docker build -t centostj:1.0 .

image.gif

4.4 测试镜像是否创建成功

docker images

image.gif

4.5 运行这个镜像

docker run -it  -p 8080  centostj:1.0 /bin/bash

image.gif

4.6 查看端口的绑定

docker ps -a

image.gif

05

镜像的载入与导出

5

镜像的载入与导出

5.1 导出容器(export)

docker export 实例的id  > xxx.tar
         eg:docker export 0c1d5677294c > back.tar

image.gif

5.2 导入容器

cat back.tar | docker import - centostj:v1.0

image.gif

5.3 使用save导出容器

docker save centostj > back1.tar   中间那个是镜像的名字

image.gif

5.4 使用load导入镜像

docker load  < docker-seelight.tar

image.gif

docker logs 容器的id 或者 名字 查看使用过的命令
   将镜像上的端口映射到物理机器上
      1:docker run -d -p 5000(表示的是物理机器上的端口):5000(镜像上的这个端口) 镜像的名字 要运行的这个程序
   docker ps -l :查看最后一次创建的这个容器
   进入这个容器的方法:docker exec -it 95c133b8dce9 /bin/bash
   docker cp 将外面的cp到里面去 docker cp /www/runoob 96f7f14e99ab:/www
   docker stop 容器id:表示的是停止一个容器
   docker cp 本地文件路径 ID全称:容器路径 上传本地文件到docker中

image.gif

希望这篇文章能对还没接触过容器化部署的小伙伴起到帮助,后续会更新Docker系列更多文章,谢谢大家支持!

image.gif


image.gif

点个赞,证明你还爱我

相关文章
|
8月前
|
Devops 网络安全 Docker
百度搜索:蓝易云【DevOps系列文章之Docker部署web ssh工具sshwifty教程。】
同时,了解DevOps和Docker的基本原理和概念也对你进行部署和管理这样的工具非常有帮助。你可以进一步研究Docker容器化技术和相关的DevOps实践,以更好地理解和应用这些概念。
103 0
|
5天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
8月前
|
关系型数据库 分布式数据库 PolarDB
PolarDB产品使用合集之关于在Docker环境中部署和维护PolarDB-X,有相关文章可以参考吗
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8月前
|
Docker 容器
一篇文章搞懂docker日志的查看
`docker logs` 命令用于查看Docker容器的日志,支持多个选项:`-f` 跟踪实时日志,`--since` 显示指定时间后的日志,`--tail` 显示指定行数(默认全部),`-t` 显示时间戳。例如,`docker logs -f --tail=200 &lt;容器ID/名称&gt;` 显示最后200行实时日志。还可以结合`grep`进行过滤,或使用`--since`和`--until`指定时间范围。日志可重定向至文件,如`docker logs &lt;容器id&gt; &gt; container_logs.txt`。
2118 6
|
8月前
|
Ubuntu 大数据 Linux
【大数据组件】一篇文章让你快速入门Docker
【大数据组件】一篇文章让你快速入门Docker
88 0
|
NoSQL 关系型数据库 Java
ChatGPT生成一篇文章:关于Docker
如今AI智能如火如荼,如果不会点ChatGPT总感觉有点落后了。最近刚好重新复习了一遍Docker,这里尝试通过ChatGPT来生成一篇关于Docker文章。来看效果。
212 0
ChatGPT生成一篇文章:关于Docker
|
运维 安全 Ubuntu
[ docker ] 一篇文章让你掌握 docker
相信大家对docker都不陌生,这篇文章来分享一下个人对docker的理解。 在此之前,我翻阅了很多的资料,也看了不少的文章。 总结来说,就是每个人都会有自己独特的见解,有的是为了跟进先进主流技术,有的由于面试需要,有的由于项目要用等等的。 我总结的也不一定就是最准确的,只能能对大家更好的去理解docker有一些帮助,可以对docker有一个自己的认知。
359 0
[ docker ] 一篇文章让你掌握 docker
|
弹性计算 安全 Linux
很高兴在这里发表一篇文章来跟大家分享我最近使用ECS的体验感受。我是一名广东财贸职业学院云计算专业的一名学生,因为目前学习的内容我需要一台稳定安全的服务器,所以我迫切的想要入手一台服务器。我找到了ecs。并且在这款服务器里使用着我所学习的一些技术,并且通过这款服务器使用着ecs。在这款服务器里面使用ecs,我学习了Linux安装docker并使用docker实现项目的环境搭建。
我在这款服务器里面,可以使用任何的电脑,包括网络,包括手机,包括电视等等,可以说是无所不用其极,但是这款服务器的强悍之处在于,它可以让我随时随地的控制着服务器上的电脑,甚至可以随意的调节服务器上的电源。我可以在服务器上随意的调节服务器上的电源,让服务器不会出现任何故障。我在这款服务器里面使用ecs,我学习了Linux安装docker并使用docker实现项目的环境搭建。再就是关于远程访问的配置,这可让我琢磨了不少时间。我遇到的问题便是:将项目部署到服务器上后,在服务器本地能够运行,但在其他设备上通过服务器的外网IP进行访问时,却提示访问超时,经过多方查询后,我才知道原来是需要配置安全组以及在服
169 0
|
Ubuntu Linux 测试技术
【大数据组件】一篇文章让你快速入门Docker
Docker 是什么? Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。 Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
【大数据组件】一篇文章让你快速入门Docker
|
数据采集 Linux Docker
2300+字!在不同系统上安装Docker!看这一篇文章就够了
辰哥准备出一期在Docker跑Python项目的技术文,比如在Docker跑Django或者Flask的网站、跑爬虫程序等等。
330 0
2300+字!在不同系统上安装Docker!看这一篇文章就够了

热门文章

最新文章