Docker容器

docker简单教程

本文主要是介绍docker简单教程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、关于docker

  • Docker 是一个开源的应用容器引擎,基于go语言并遵从 Apache2.0 协议开源。
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  • 容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

 

二、docker架构

1、镜像(image)

相当于是一个 root 文件系统,里面包括了容器运行所需的系统程序、资源、以及各种配置。

2、容器(container)

镜像和容器的关系就像面向对象程序设计中的类和实例一样。镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

3、仓库(repository)

仓库可看成一个代码控制中心,用来保存镜像。

 

三、centos docker安装

1、centos的docker安装命令

yum install docker

2、验证安装是否成功可以执行如下命令

docker --version     #查看版本信息

3、还可以设置国内镜像加速

vim /etc/docker/daemon.conf     #如果没有就自己创建
{
  "registry-mirrors": [
           "https://dockerhub.azk8s.cn",
          "https://reg-mirror.qiniu.com",
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://3laho3y3.mirror.aliyuncs.com",
        "http://f1361db2.m.daocloud.io",
        "https://mirror.ccs.tencentyun.com"
          ]
}        

4、最后重启docker即可

systemctl daemon-reload
 
systemctl restart docker

 

四、docker基本命令

docker --version             #1、查看版本信息

docker images                #2、查看本地所有镜像

docker search centos         #3、搜索centos镜像

docker pull centos           #4、获取centos镜像

docker run centos            #5、运行一个docker镜像,产生一个容器实例
docker run (镜像id前三位)      #如:docker run 689

docker run -it centos bash   #6、运行一个docker镜像,并进入到容器的bash(exit退出)

docker ps                    #7、列出正在运行的容器

docker ps -a                 #8、列出所有运行过的容器

docker stop (镜像id前三位)     #9、停止一个运行中的容器

 

五、容器的启动

1、基于镜像新建一个容器并启动

① 启动容器

[root@VM-0-12-centos ~]# docker run -d -it centos bash
689e0f07561e39554d83559f4b4b426a87b4bafac86920012f99b5600c05237c

#-d  表示后台运行
#-it 让容器标准输入保持打开并绑定,并分配一个伪终端
#bash 指定docker容器,用shell解释器交互

② 查看正在运行的docker容器

[root@VM-0-12-centos ~]# docker ps 
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
689e0f07561e        centos              "bash"              8 seconds ago       Up 8 seconds                            competent_yalow

③ 进入id为689开头的容器的交互模式

[root@VM-0-12-centos ~]# docker exec -it 689 bash

 

2、将一个终止状态(stopped)的容器重新启动

① 查询运行过的容器信息

[root@VM-0-12-centos ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                       PORTS               NAMES
689e0f07561e        centos              "bash"              About a minute ago   Up About a minute                                competent_yalow

② 重新启动

[root@VM-0-12-centos ~]# docker start 689
689

③进入交互模式

[root@VM-0-12-centos ~]# docker exec -it 689 bash
[root@689e0f07561e /]# 

 

六、dockerfile

Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

由于笔者理解不深,关于如何使用 Dockerfile 定制镜像的问题,可以参考这个教程:https://www.runoob.com/docker/docker-dockerfile.html。

 

七、docker compose

1、简介

docker-compose是docker的一个工具,使用docker-compose可以方便的管理多个Docker容器,非常适合组合使用多个容器进行开发的场景,如vulhub。

2、安装

curl -L https://github.com/docker/compose/releases/download/1.28.6/docker-compose -`uname -s` -`uname -m` -o /usr/local/bin/docker-compose
#可以更改 1.28.6 为自己想要的版本。
#源地址:https://github.com/docker/compose/releases

chmod +x /usr/local/bin/docker-compose       
#给docker-compose可执行权限

 

 参考

https://www.cnblogs.com/v1ntlyn/p/13549792.html

https://www.runoob.com/docker/docker-tutorial.html

https://blog.csdn.net/weixin_41905135/article/details/120498151

 

这篇关于docker简单教程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!