docker系列文-----docker三大核心概念以及实战(nginx与mysql)(代码片段)

小熊嗑代码 小熊嗑代码     2022-12-20     567

关键词:

Docker三大核心概念

一.镜像(Image)

镜像是Docker运行容器的前提。Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配置,使用自定义的镜像仓库。

  1. Docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。
  2. 一个镜像可以包含一个基本的操作系统环境。
  3. 官方的Docker Hub仓库以及提供了数十万个镜像供大家开放下载。
    Docker Hub网站

二.容器(Container)

Docker容器类似于一个轻量级的沙箱,Docker利用容器来运行和隔离应用。容器是从镜像创建的应用运行的一个实例。可以将其创建、启动、开始、停止、删除,而这些容器都是彼此互相隔离、互不可见的。
可以把容器看作是一个简易版的Linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。

三.仓库(Repository)

Docker仓库类似于代码仓库,它是Docker集中存放镜像文件的场所。
一个容易与之混淆的概念是注册服务器(Registry)。实际上注册服务器是存放仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址dl.dockerpool.com/ubuntu来说,dl.dockerpool.com是注册服务器地址,ubuntu是仓库名。

Docker的基本命令介绍

1.查看自己的docker版本

[root@sc-docker ~]# docker -v
Docker version 20.10.8, build 3967b7d

2.查看所有可以安装的docker版本

[root@sc-docker ~]# yum list docker-ce --showduplicates|sort -r
docker-ce.x86_64               3:20.10.8-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.8-3.el8                 @docker-ce-stable
docker-ce.x86_64               3:20.10.7-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.6-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.5-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.4-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.3-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.2-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.1-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:20.10.0-3.el8                 docker-ce-stable 
docker-ce.x86_64               3:19.03.15-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.14-3.el8                docker-ce-stable 
docker-ce.x86_64               3:19.03.13-3.el8                docker-ce-stable 
已安装的软件包
上次元数据过期检查:0:36:19 前,执行于 2021年08月11日 星期三 10时19分27秒。
可安装的软件包

3.查看自己的Docker进程是否运行

[root@sc-docker ~]# ps aux|grep docker
root       12879  0.0  2.3 1517348 88696 ?       Ssl  06:08   0:09 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root       15775  0.0  0.0  12324  1044 pts/0    S+   10:58   0:00 grep --color=auto docker

dockerd:docker deamon—》docker守护进程:一直在运行的,对外提供服务的

4.查找自己所需要的镜像:

第一个显示的一定是官方库,STARS越多收藏的次数越多,有部分是个人或者企业镜像,个人也能够提交镜像至仓库

[root@sc-docker web]# docker search nginx
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                             Official build of Nginx.                        15288     [OK]       
jwilder/nginx-proxy               Automated Nginx reverse proxy for docker con…   2058                 [OK]
richarvey/nginx-php-fpm           Container running Nginx + PHP-FPM capable of…   815                  [OK]
jc21/nginx-proxy-manager          Docker container for managing Nginx proxy ho…   228                  
linuxserver/nginx                 An Nginx container, brought to you by LinuxS…   150                  
tiangolo/nginx-rtmp               Docker image with Nginx using the nginx-rtmp…   138                  [OK]
jlesage/nginx-proxy-manager       Docker container for Nginx Proxy Manager        130                  [OK]
alfg/nginx-rtmp                   NGINX, nginx-rtmp-module and FFmpeg from sou…   105                  [OK]
nginxdemos/hello                  NGINX webserver that serves a simple page co…   70                   [OK]
privatebin/nginx-fpm-alpine       PrivateBin running on an Nginx, php-fpm & Al…   56                   [OK]
nginx/nginx-ingress               NGINX and  NGINX Plus Ingress Controllers fo…   55                   
nginxinc/nginx-unprivileged       Unprivileged NGINX Dockerfiles                  46                   
staticfloat/nginx-certbot         Opinionated setup for automatic TLS certs lo…   24                   [OK]
nginx/nginx-prometheus-exporter   NGINX Prometheus Exporter for NGINX and NGIN…   19                   
schmunk42/nginx-redirect          A very simple container to redirect HTTP tra…   19                   [OK]
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   15                   
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   13                   
flashspys/nginx-static            Super Lightweight Nginx Image                   10                   [OK]
mailu/nginx                       Mailu nginx frontend                            9                    [OK]
navidonskis/nginx-php5.6          Docker nginx + php5.6 on Ubuntu                 7                    [OK]
devilbox/nginx-stable             Devilbox's Nginx stable (based on official N…   4                    
ansibleplaybookbundle/nginx-apb   An APB to deploy NGINX                          2                    [OK]
wodby/nginx                       Generic nginx                                   1                    [OK]
arnau/nginx-gate                  Docker image with Nginx with Lua enabled on …   1                    [OK]
centos/nginx-110-centos7          Platform for running nginx 1.10 or building …   0

5.只下载镜像,不开启容器

pull 从别人那里拉取下来----》下载
push 推上去—》上传

[root@sc-docker web]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
33847f680f63: Already exists 
5cb67864e624: Pull complete 
1a2b594783f5: Pull complete 
b30e406dd925: Pull complete 
48901e306e4c: Pull complete 
603d2b7147fd: Pull complete 
802aa684c1c4: Pull complete 
715d3c143a06: Pull complete 
6978e1b7a511: Pull complete 
f0d78b0ac1be: Pull complete 
35a94d251ed1: Pull complete 
36f75719b1a9: Pull complete 
Digest: sha256:8b928a5117cf5c2238c7a09cd28c2e801ac98f91c3f8203a8938ae51f14700fd
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest

上面默认下载最新版的MySQL,可以下载指定版本的MySQL------>mysql:tag

[root@sc-docker web]# docker pull mysql:5.7.35

6.查看自己有哪些镜像

[root@sc-docker ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   5 months ago   13.3kB
centos        latest    300e315adb2f   8 months ago   209MB

7.创建一个容器

注意 :create不能接-d 因为只是创建容器没有run,-d表示进程,此时进程并没有启动
创建一个容器 不启动

[root@sc-docker web]# docker create --name sc-nginx-cali-6 -p 8088:80 nginx 
ff959e6e08bcd17adc230220dd6ccf5e3180a5d92dffb1ea9ccf261a1c867ccb

8.启动容器

可以理解为:docker run = docker create + docker start
简单版:

docker run --name sc-nginx-1  -d -p 8081:80   nginx

复杂版:

docker run --name sc-nginx-1 -v /web:/usr/share/nginx/html:ro -d -p 8080:80 daocloud.io/nginx

1.–name sc-nginx-1 指定容器的名字
2.-v参数中,冒号":"前面的目录是宿主机目录,后面的目录是容器内目录(挂载)
-v /web:/usr/share/nginx/html:ro 数据卷:可以实现宿主机和容器直接的数据共享
/web 是宿主机的目录
/usr/share/nginx/html 是容器里的系统的目录的路径
ro 只读
3.-d 在后台启动一个容器进程 deamon
4.-p 端口的映射:iptables的DNAT 8080:80 访问宿主机的8080端口,转发到容器里的80端口
8080:80:访问宿主的8080端口可以转接到容器的80端口
发布:将容器的服务发布到外界
原理:dnat
5.daocloud.io/nginx 到daocloud.io网站去下载nginx的镜像

点击进入daocolud官网

9.查看正在运行的容器:

[root@sc-docker web]# docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED       STATUS         PORTS                                   NAMES
1bd4455d581a   daocloud.io/nginx   "/docker-entrypoint.…"   3 hours ago   Up 3 minutes   0.0.0.0:8080->80/tcp, :::8080->80/tcp   sc-nginx-4

接-a选项查看更全的信息 而且可以显示没有在Up状态的容器

[root@sc-docker web]# docker ps -a
CONTAINER ID   IMAGE               COMMAND                  CREATED        STATUS                    PORTS                                   NAMES
1bd4455d581a   daocloud.io/nginx   "/docker-entrypoint.…"   3 hours ago    Up 3 minutes              0.0.0.0:8080->80/tcp, :::8080->80/tcp   sc-nginx-4
7317d5762013   centos              "/bin/bash"              13 hours ago   Exited (0) 3 hours ago 

10.停止运行容器

[root@sc-docker web]# docker stop sc-nginx-4
sc-nginx-4

11.重新开启容器

[root@sc-docker web]# docker start sc-nginx-4
sc-nginx-4

12.彻底删除容器:

一个容器正在运行的时候不能够直接删除,必须stop之后才能删除

[root@sc-docker web]# docker rm sc-nginx-4
Error response from daemon: You cannot remove a running container 1bd4455d581a8db0258dde45e8b9db0eed38bb6071a563a2897bfa5466beb681. Stop the container before attempting removal or force remove

如下图所示这样为删除成功(确认结果可以用docker ps -a查看)

[root@sc-docker web]# docker rm sc-nginx-4
sc-nginx-4

13.查看容器的日志

docker logs +容器名

[root@sc-docker web]# docker logs sc-nginx-cali-1

14.查看某个容器里的进程的进程

docker top +容器名

[root@sc-docker web]# docker top sc-nginx-cali-1
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                21414               21394               0                   15:57               ?                   00:00:00            nginx: master process nginx -g daemon off;
101                 21462               21414               0                   15:57               ?                   00:00:00            nginx: worker process

15.进入容器内部

-i --interactive(相互作用的) 可以交互

-t 创建一个终端
-it 一般一起使用
进入容器内部运行/bin/bash这个命令

[root@sc-docker web]# docker exec -it sc-nginx-cali-1 /bin/bash
root@e24c5644f935:/# hostname
e24c5644f935

Nginx实战

nginx是一个web服务器软件,搭建一个自己的网站(静态)

先体验一下nginx能带来的服务

1.yum install方式安装nginx

[root@sc-docker ~]# yum install nginx -y

2.开启nginx服务并检测

[root@sc-docker ~]# ss -anplut|grep nginx
tcp     LISTEN   0        128              0.0.0.0:80            0.0.0.0:*       users:(("nginx",pid=18114,fd=8),("nginx",pid=18113,fd=8),("nginx",pid=18112,fd=8))
tcp     LISTEN   0        128                 [::]:80               [::]:*       users:(("nginx",pid=18114,fd=9),("nginx",pid=18113,fd=9),("nginx",pid=18112,fd=9))
[root@sc-docker ~]# systemctl start nginx
[root@sc-docker ~]# ps aux|grep nginx
root       18112  0.0  0.0 119156  2192 ?        Ss   11:26   0:00 nginx: master process /usr/sbin/nginx
nginx      18113  0.0  0.2 151804  7972 ?        S    11:26   0:00 nginx: worker process
nginx      18114  0.0  0.2 151804  7972 ?        S    11:26   0:00 nginx: worker process
root       18116  0.0  0.0  12324   972 pts/0    S+   11:26   0:00 grep --color=auto nginx

3.关闭防火墙和selinux,并且设置开机不要自启

[root@sc-docker ~]# setenforce 0
[root@sc-docker ~]# systemctl stop firewalld
[root@sc-docker ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@sc-docker ~]# vim /etc/selinux/config 
----------------------------------------------------
将SELINUX=enforce
修改为disabled 重启后永久生效

4.进入nginx存放网站首页的目录

[root@sc-docker ~]# cd /usr/share/nginx/html/
index.html ---》首页---》打开网站看到的第一个页面
[root@sc-docker html]# vim index.html 
--------------------------------------
可以用html语言修改这个页面 修改完什么样子之后访问此ip地址的80端口首页就是什么样子

5.测试nginx服务 访问自己虚拟机的ip

在浏览器中输入自己的ip地址:80

Docker启动nginx容器:

1.下载好nginx的镜像文件后启动容器

docker run --name sc-nginx-2 -v /web:/usr/share/nginx/html:ro -d -p 8080:80 daocloud.io/nginx
c74a86eedfce131dc2374161b101b5d98d5f60cde939d28ec012af6933af8fcc

2.查看nginx容器是否在运行

[root@sc-docker html]# docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED          STATUS         PORTS                                   NAMES
c74a86eedfce   daocloud.io/nginx   "/docker-entrypoint.…"   10 seconds ago   Up 6 seconds   0.0.0.0:8080->80/tcp, :::8080->80/tcp   sc-nginx-2
[root@sc-docker html]# ss -anplut|grep 8080
tcp     LISTEN   0        128              0.0.0.0:8080          0.0.0.0:*       users:(("docker-proxy",pid=19021,fd=4))                                        
tcp     LISTEN   0        128                 [::]:8080             [::]:*       users:(("docker-proxy",pid=19027,fd=4))         

3.然后可以访问192.168.2.21:8080 然后里面就是访问docker的nginx的80端口

访问的是主机的/web文件 映射到docker容器的nginx下的/usr/share/nginx/html文件
如图即为成功(图上是8088端口,此例子访问8080端口即可)




MySQL实战

前提:(确保系统中都存在MySQL服务器)
centos:
yum install mariadb mariadb-server
mariadb 是客户端的软件包
ubuntu:
xiaoxiong@root:~$ sudo apt install mariadb-server
mariadb-server:提供mysql数据库的服务

Ubuntu系统:

0.小技巧tips

在Ubuntu中重新使用root用户,可以省去繁琐的sudo操作:
root@root:/home/xiaoxiong# sudo passwd root
New password: 
Retype new password: 
passwd: password updated successfully
root@root:/home/xiaoxiong# su - root

1.下载mysql的image:(ubuntu)

xiaoxiong@root:~$ sudo docker pull mysql:5.7.35

2.确保本地的mysql服务关闭

service stop mysql

3.启动容器

docker run --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD=‘sanchuang123’ -d mysql:5.7.35 -P 3306:3306
–name:指定容器的容器名
-e :指定环境变量 MYSQL_ROOT_PASSWORD的环境变量
-d:守护进程 deamon
mysql:tag ---->tag用来指定mysql的版本
-P:端口映射 从本机的3306端口映射到docker里的3306端口

root@root:/home/xiaoxiong# docker run --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD='sanchuang123' -d -p 3306:3306 mysql:5.7.35
9c0d35a1a1585f6358905d86f922206179231f9aea092f54d848a03fcfcdc98b

4.连接测试

root@root:/home/xiaoxiong# mysql -uroot -psanchuang123 -h 192.168.63.147 -P 3306
Welcome to the MariaDB monitor.  Commands end with ; or \\g.
Your MySQL connection id is 4
Server version: 5.7.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.

MySQL [(none)]>

  • 测试成功

Centos8系统:

1.下载mysql镜像:

docker pull mysql:5.7.35

2.启动容器

docker run --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD=‘sanchuang123’ -d -p 3306:3306 mysql:5.7.35

[root@sc-docker html]# docker run --name sc-mysql-1 -e MYSQL_ROOT_PASSWORD='sanchuang123' -d -p 3306:3306 mysql:5.7.35
1468f427a37bc37792f656cfb08aa46605526330e31e5027a6c50a4e79658342
[root@sc-docker html]# docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED         STATUS             PORTS                                                  NAMES
1468f427a37b   mysql:5.7.35        "docker-entrypoint.s…"   3 seconds ago   Up 2 seconds       0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   sc-mysql-1

3.访问测试

可以是其他服务器(使用另一台虚拟机来访问)
-h 指定连接服务器的ip地址

[root@sc-docker html]# mysql -h 192.168.2.21 -uroot -p'sanchuang123'
Welcome to the MariaDB monitor.  Commands end with ; or \\g.
Your MySQL connection id is 2
Server version: 5.7.35 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\\h' for help. Type '\\c' to clear the current input statement.

MySQL [(none)]> 

如果遇到Bug、Error~

在上述命令都没有错误的情况下:
如果访问不进去,报错

 ERROR 2002 (HY000): Can't connect to MySQL server on '192.168.63.147' (115)

重启一下docker的服务再docker start刚刚的容器 80%能够修复

service docker restart

小心得:

不论是在Centos还是Ubuntu系统中,ps aux|grep mysql这个命令是可以捕捉到你使用docker容器创建的mysqld进程的
但是需要注意:

root@root:~# ps aux|grep mysql
systemd+   34414  0.0  9.8 1377300 197804 ?      Ssl  09:50   0:06 mysqld
mysql      38050  8.0  3.8 1710584 77356 ?       Ssl  11:56   0:00 /usr/sbin/mysqld
root       38134  0.0  0.0   6432   736 pts/0    S+   11:56   0:00 grep --color=auto mysql

如上图所示

  1. root 执行的是grep命令 不计入真正的MySQL服务
  2. mysql执行的是本地(虚拟机)的MySQL服务
  3. 而systemd+执行的则是虚拟机产生的MySQL服务

在Docker服务启动的时候,虽然你的防火墙是关闭的,但是Docker服务会往你的防火墙规则(Iptables)里写入一些规则,这时候不要重启防火墙,否则后面的操作会报错,如果报错,需要清除防火墙规则,然后重启Docker服务则可以解决问题



再次感谢各位看官!!!
万字长文建议收藏

docker概念及基本用法

Docker概念及基本用法一、本节内容简介本实验中我们初步接触Docker的概念和基本用法。需要依次完成下面几项任务:理解Docker是什么学习如何在Linux上安装Docker学习如何使用DockerHub创建第一个HelloShiyanlou的Docker应用Docker基本的容... 查看详情

docker实战核心概念及常用命令(代码片段)

...案尚未确定,有些许空闲时间调研下火了挺久的容器技术Docker。二、初识Docker如果说主机时代比拼的是单个服务器物理性能(如CPU主频和内存)的强弱,那么在云时代,最为看重的则是凭借虚拟化技术所构建的集群处理能力。2.1... 查看详情

dockerd的核心概念,镜像操作

简介在实际使用Docker的过程中,遇到一些问题,但是总没有系统的博文可以详细的介绍Docker,所以个人写一个由浅入深的系统学习Docker过程。这里首先介绍Docker的三大核心概念:镜像(Image),容器(Container),仓库(Repository),... 查看详情

docker核心概念及基本操作

概要    docker是一种linux容器技术。容器有效的将由单个操作系统挂管理的资源划分到孤立的组中,以便更好的在组之间平衡有冲突的资源使用需求。可简单理解为一种沙盒。每个容器内运行一个应用,不同的容器... 查看详情

docker核心概念

docker的大部分操作都围绕着它的三大核心概念——镜像、容器和仓库展开。1.docker镜像镜像是创建docker容器的基础。通过版本管理和增量的文件系统,docker提供了一套十分简单的机制来创建和更新现有的镜像。2.docker容器docker容... 查看详情

docker核心概念

Docker的三大核心概念镜像容器仓库1、Docker镜像 Docker镜像类似于虚拟机镜像,可以将它理解为一个面向Docker引擎的只读模板,包含了文件系统。镜像是创建容器的基础。通过版本管理和增量的文件系统,Docker提供了一套十分... 查看详情

docker基础

Docker由镜像(Image)、容器(Container)、仓库(Repository)三大核心组成。常用命令:1、查看Docker版本信息:dockerversion/docker-v2、搜索ubuntu的Docker镜像:dockersearchubuntu3、拉取官方最新版的ubuntu镜像:dockerpullubuntu:latest。相当于dockerpullregistry... 查看详情

docker基本管理(代码片段)

Docker基本管理文章目录Docker核心概念Docker镜像操作Docker容器操作Docker概述Docker是什么?是一种轻量级的“虚拟机”在Linux容器里运行应用的开源工具Docker的使用场景打包应用程序简化部署可脱离底层硬件任意迁移Docker的核心概念... 查看详情

docker笔记

...用组件“一次封装,处处运行”的目的。安装brewcaskinstalldocker三大核心概念镜像:比如说Apache应用程序等,本身是只读的,从镜像启动的时候,会在镜像的最上层创建一个可写层。dockerimages 来列出所有镜像。下载镜像:docker... 查看详情

docker系列-dock高阶知识点文章汇集

docker技术已经研究了一段时间,基本的知识点和使用场景比较清楚了,还有一些比较高阶的内容未曾尝试,将来工作中如果能用到,再深入研究吧.这篇博文汇总了一些有用的文章链接.=======================书籍=======================Docker从入... 查看详情

docker系列认识elk,docker安装elk和ik分词器

1.ELK简介ELK是三个开源软件的缩写,分别表示:Elasticsearch,Logstash,Kibana,它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方... 查看详情

docker镜像

镜像是Docker的三大核心概念之一。Docker运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker会尝试先从默认镜像仓库下载,用户也可以通过配置,使用自定义的镜像仓库。1、获取镜像镜像是Docker运行容器的前提。... 查看详情

docker基本概念及操作指令

...容器镜像和仓库三部分组成;仓库:常用的官方仓库----dockerhub dockerhub仓库:分为公有和私有仓库;内包含着很多镜像,每个镜像可以创造出很多个独立容器;Docker镜像基本操作:1)docker--version //查看是否安装完成及版... 查看详情

docker核心技术之dockerfile

Dockerfile简介什么是DockerfileDockerfile其实就是根据特定的语法格式撰写出来的一个普通的文本文件利用dockerbuild命令依次执行在Dockerfile中定义的一系列命令,最终生成一个新的镜像(定制镜像)Dockerfile示例与使用Dockerfile使用命令&... 查看详情

docker的概念及剖析原理和特点

一、docker的简介:    应用容器是个啥样子呢,一个做好的应用容器长的就像一个装好了一组特定应用的虚拟机一样,比如我现在想用mysql数据库,我直接找个装好了的MySQL的容器就可以了,想用的时候一运行容器... 查看详情

docker大行其道—镜像

导读作为Docker三大核心概念之一,Docker镜像(DockerImage)是一个面向Docker引擎的只读模板,包含文件系统。实际上每个Docker镜像包含一个独立的运行环境,如一个镜像包含centos操作系统环境,我们称之为一个centos镜像。Docker运... 查看详情

docker(代码片段)

Docker当你发现自己的才华撑不起你的野心是,你就应该静下心来学习了目录Docker1.概念1.1容器和VM的区别1.2Docker三大核心组件1.3配置daocloud(可选可不选)1.4run的运行原理1.5Docker是怎么工作的2.Docker容器数据卷2.1.命令添加2.2.Dockerfile2.3.... 查看详情

docker系列之一:初见docker

什么是docker?docker是目前linux最流行的容器技术,Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样优点:占用资源... 查看详情