设为首页 加入收藏

TOP

初识Docker
2019-05-12 01:39:34 】 浏览:57
Tags:初识 Docker
版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/yidu_fanchen/article/details/73530627
Docker系统有两个程序:docker服务端和docker客户端

Docker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容器。docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。大部分情况下,docker服务端和客户端运行在一台机器上,目前支持64位机器。

CentOS安装(需要管理员权限):
yum install docker
检查是否安装成功,程序员惯例,运行hello-world:
检查docker是否安装成功

出现此提示,说明安装成功。
检查docker版本:
docker version
启动服务端:
service docker start
启动docker服务
得到结果如下,docker服务端已开启

搜索可用镜像文件:
docker search xxxx (xxxx为要搜索的镜像名称)
以Ubuntu为例:
各个列的解释:NAME 镜像名称,DESCRIPTION 描述,STARS 标星次数,OFFICIAL 是否为官方发布,AUTOMATED 是否为个人发布
docker search xxxx

下载镜像文件到本地:
docker pull xxxx (xxxx为要下载的镜像名称,如果下载个人镜像,需要加上用户名,如:docker pull nuagebec/ubuntu)
这里以下载ubuntu为例:
docker pull ubuntu
下载ubuntu镜像

在下载的ubuntu镜像中输出 “hello world”
docker run ubuntu echo “hello world”
使用ubuntu镜像输出helloworld
说明下载的ubuntu镜像可以正常使用。
运行ping命令,提示ping命令在path路径中不存在,如图:
尝试运行ping命令
那么,怎么在这个镜像中安装程序呢,则需要使用如下命令,以安装ping命令为例:
直接提示Unable to local package ping,即软件包中不存在ping包,这时需要考虑是软件源的问题,需要对软件源进行更新。
安装ping工具

如何更新软件源,我们知道ubuntu更新软件源命令为sudo apt-get update,那么如何更新ubuntu镜像的软件源呢?这时就需要我们进入ubuntu的bash来进行操作,命令如下:
docker run -it ubuntu bash
-i: 以交互模式运行容器,通常与 -t 同时使用;
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
进入ubuntu镜像后,直接更新软件源,需要一段时间,如图所示:
更新软件源
更新之后,我们需要将这个docker进行保存,否则更新不会生效,安装软件之后同样需要进行提交保存,命令如下:
docker ps -l 列出最新的一个容器,即我们刚刚修改过的容器信息
列举docker镜像
然后根据容器id对更改的容器进行保存,命令为:
docker commit bc40a25111eb ubuntu_new
bc40a25111eb是容器id
ubuntu_new是新的容器名称
此时,我们再进行ping的安装,但却不存在ping命令的包,猜测是在ubuntu16.04中源进行了更改,根据提示,安装inetutils-ping包;
安装ping命令
输入命令,等待完成安装,并重新commit镜像,使更改生效。
apt-get install -y xxx 中,-y是因为镜像无法提供交互式输入,所以直接在最开始输入
安装ping命令
查看安装过程
然后使用最新的镜像运行ping命令,查看结果,如图所示:
运行ping命令,并查看结果
最后,我们可以将我们安装过ping命令的镜像进行发布至Docker Hub,需要注册账号和密码,过程如下:
使用docker login登录Docker Hub服务器,提示输入账号和密码,如下所示,表示登录成功:
登录Docker Hub服务器

查看目前下载的docker镜像,选择需要上传的镜像文件:
docker images
镜像文件

发布命令如下:

等待上传完成,然后就可以在Docker Hub上看到刚刚上传的镜像了,如下图:
这里写图片描述

删除镜像:
docker ps -a | grep “Exited” | awk ‘{print $1 }’|xargs docker stop

docker ps -a | grep “Exited” | awk ‘{print $1 }’|xargs docker rm

需要将运行过的exited状态的镜像id全部删除,然后再删除镜像。
docker rmi 90cd6a9da897

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇数据结构学习8——冒泡排序 下一篇sacla之akka

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目