HonGao · 2020年09月01日

云芯一号测评3:Docker基础使用测试

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

10docker01.jpg
看一下docker的版本来确认安装是否成功

docker -v

10docker021.jpg

1.2常用命令

版本查询

docker version

基本环境信息查询

docker info

10docker022.jpg

1.3 Image操作

搜索images,比如搜索nginx:latest

docker search nginx:latest

10docker03.jpg
下载images,比如选择一个star数最多的

docker pull nangualin/nginx

查看images

docker images

删除images

docker rmi

10docker042.jpg

1.4 Container操作

创建Container

docker create --name [containerName] [images]:[version]

10docker061.jpg
运行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

10docker051.jpg

在运行的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  

10docker101.jpg

2.实例测试

下面运行个实际例子来演示docker的运行命令:docker run

2.1 交互前台启动

下载一个ubuntu镜像

docker pull ubuntu

使用ubuntu镜像,运行container,使用交互模式运行命令

docker run -it ubuntu /bin/bash

10docker071.jpg

2.2 后台启动

docker run -p 80:80 -v /data:/jishu -d ubuntu

在Container中开启一个交互模式的终端的例子。

docker exec -it [containerName] /bin/bash
推荐阅读
关注数
4278
内容数
71
低成本Arm微服务器开发平台“云芯1号”教程及应用,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息