Docker是一个开源的应用容器引擎,是容器技术的一种实现。使用Docker让开发者可以将应用和依赖包等运行时环境打包到一个Docker Container中,然后发布到任何Linux机器上,以此实现相同配置在不同平台上的快速部署。
Docker有两个关键概念,Image和Container,Image是Docker打包的镜像,而Container是真正运行起来的容器,可以把Image理解为Docker的程序,而Container是Image的一个运行实例。用户只需要在Dockerfile中配置需要的应用程序、相应的配置等,然后交给Docker进行build,生成Image,然后通过run启动一个Container实例。
Docker使用的是Client-Server架构,客户端为Docker Client,服务端是个Docker Daemon守护进程。用户通过Docker Client输入命令与Docker Daemon交互。最重要的两个命令为docker build和docker run。
这篇测评来测试一下Docker的主要操作
1.Docker安装及基础使用
1.1安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io
看一下docker的版本来确认安装是否成功
docker -v
1.2常用命令
版本查询
docker version
基本环境信息查询
docker info
1.3 Image操作
搜索images,比如搜索nginx:latest
docker search nginx:latest
下载images,比如选择一个star数最多的
docker pull nangualin/nginx
查看images
docker images
删除images
docker rmi
1.4 Container操作
创建Container
docker create --name [containerName] [images]:[version]
运行Container
docker run [OPTIONS] [images]:[version] [COMMAND] [ARG...]
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx
docker run --name mynginx -d nangualin/nginx
使用镜像nginx:latest,以后台模式启动一个容器,并将容器的 80 端口映射到主机的80端口。主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
在运行的Container中执行命令
docker exec [OPTIONS] [containerName] [COMMAND] [ARG...]
其中OPTIONS说明:
-d: 分离模式,在后台运行
-i: 保持STDIN打开
-t: 分配一个伪终端
启动Container
docker start [containerName]
关闭Container
docker stop [containerName]
重启Container
docker restart [containerName]
杀掉运行中的Container
docker kill [containerName]
删除Container
docker rm [containerID]
列出所有Container
docker ps -a
2.实例测试
下面运行个实际例子来演示docker的运行命令:docker run
2.1 交互前台启动
下载一个ubuntu镜像
docker pull ubuntu
使用ubuntu镜像,运行container,使用交互模式运行命令
docker run -it ubuntu /bin/bash
2.2 后台启动
docker run -p 80:80 -v /data:/jishu -d ubuntu
在Container中开启一个交互模式的终端的例子。
docker exec -it [containerName] /bin/bash