什么是Docker?

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的
Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker被比作是一个货运集装箱,集装箱里面的装的内容由客户自己决定。但是混匀集装箱是有标准的。

vm和container的对比

docker hub拉取指定sha docker拉取镜像的命令_ubuntu


vm:是独立的操作系统,相互之间是独立的,但是对物理机的cpu,内存等的使用比较大;在独立的操作系统之上在运行我们的程序等。

容器:运行的时候比较轻量,共享宿主机的内核,每一个容器就是一个特殊进程,但是之间的隔离性不好。操作系统层面的对比:

每一个技术都有使用自己的应用场景,不能一味的追求快速。

docker hub拉取指定sha docker拉取镜像的命令_ubuntu_02


Docker的优势:

对应开发:build once,run anywhere

对于运维:configure once,run anything容器是如何工作的:

docker hub拉取指定sha docker拉取镜像的命令_ubuntu_03


客户端:发送请求

docker deamon :接受请求,调用本机的镜像;如果不存在镜像,会主动连接镜像仓库拉取仓库。

Dokcer镜像的使用

我的第一个容器

环境的配置

1、软件的准备:

下载软件的地方:1)官方网站;2)阿里云也会提供 (centos和redhat之间相互兼容);云环境中的控制节点可以选择redhat系统。

docker hub拉取指定sha docker拉取镜像的命令_ubuntu_04


2、软件安装

docker安装的时候会有相关的依赖性。

docker hub拉取指定sha docker拉取镜像的命令_Docker_05


安装完成之后如果tab不能自动补齐的时候,是因为缺少安装包:yum install bash* -y安装即可。启动docker并设置开机启动:

systemctl start docker

systemctl enable docker

docker hub拉取指定sha docker拉取镜像的命令_Docker_06


查看docker镜像

docker images

docker hub拉取指定sha docker拉取镜像的命令_Docker_07


下载一个2048的镜像:

通过命令将镜像导入docker引擎中:

docker load -i game2048.tar

docker hub拉取指定sha docker拉取镜像的命令_Docker_08


运行game2048的镜像

docker hub拉取指定sha docker拉取镜像的命令_Docker_09


运行docker镜像之后会自动添加一个docker的网络端口:

docker hub拉取指定sha docker拉取镜像的命令_docker_10


如何使用:

1、查看docker进程

docker ps

docker hub拉取指定sha docker拉取镜像的命令_docker_11


2、使用,浏览器中访问,默认访问的就是80端口。

docker hub拉取指定sha docker拉取镜像的命令_Docker_12

docker的简单命令

docker信息的查看

docker info

docker hub拉取指定sha docker拉取镜像的命令_docker_13

容器的创建 docker run -d --name new-name game2048

创建并运行一个容器 docker run -it --name vm1 ubuntu

docker hub拉取指定sha docker拉取镜像的命令_docker_14


docker版本的查看

docker version

docker hub拉取指定sha docker拉取镜像的命令_Docker_15

正在运行docker进程的查看 docker ps
所有docker进程的查看 docker ps -a

docker hub拉取指定sha docker拉取镜像的命令_docker hub拉取指定sha_16

交互式运行一个镜像,进入的是一个容器:
docker run -it --name vm1 ubuntu #执行后会占用当前的终端,可以用快捷键ctrl+p+q退出
docker attach vm1 #重新连接vm1容器
如果ctrl + d 推出了容器,如果再想进入的话,使用如下命令:
1、docker start vm1
2、docker attach vm1

docker hub拉取指定sha docker拉取镜像的命令_Docker_17

删除正在运行的容器
docker rm vm1

docker hub拉取指定sha docker拉取镜像的命令_Docker_18

删除docker镜像

docker rmi ubuntu:latest

docker hub拉取指定sha docker拉取镜像的命令_docker hub拉取指定sha_19