Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。--这是你在百度的时候会得到关于Docker的定义,在你有一定基础的情况下,你来理解这句话,也是笼统的,,包括我自己,看完这句话,还是想问,这到底是个什么呢?那就一步步来了解学习吧。
一、在Linux上的部署
在部署之前先来理解几个概念
镜像:就是我们windows里的ISO文件,就是一个打包好的东西,也类似于GHOST这种工具包
容器:将镜像启动后,它会生产一个容器,我们可以在容器里添加新的组件,然后生产新的镜像!
如果你的linux服务器在yum install时提示源不对或者有问题,可以参考
wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo ##下载最新的yum源
1、安装服务 yum install docker
systemctl start docker.service ###启动docker服务
systemctl enable docker.service ###设置docker自动启动服务
2、验证并测试
docker ps ##查看容器
docker info ##检查Docker的安装是否正确,如果没有找到此命令,则表示Docker没有正确安装
docker pull busybox ## 拉取一个预建的镜像
sample_job=$(docker run -d busybox /bin/sh -c "while true; do echo Docker; sleep 1; done") ###
以后台进程的方式运行hello docker;sample_job命令会隔一秒打印一次Docker,使用Docker logs可以查看输出。如果没有起名字,那这个job会被分配一个id,以后使用命令例如Docker logs查看日志会变得比较麻烦。因为id比较长
docker logs $sample_job ##查看结果
docker stop $sample_job ##停止名为sample_job的容器,我的理解,下面的那一串字符就是它的ID
docker restart $sample_job ##重启该容器
docker rm $sample_job ##移除该容器,但是在移除之前必须先将其停止
docker images ##查看所有镜像的列表
2、安装镜像使用
sudo docker pull microsoft/dotnet #下载dotnet的镜像
docker images ###查看一下这个镜像
docker run -it --name mycoreContainer 08663b8eaa01###通过镜像,运行一个容器,后面的image id 需要与你需要的镜像对应
运行完上面了之后,在运行的时候会提示已经存在这个容器,在你想要重新进入这个容器,你需要使用
docker attach mycoreContainer ##进入你创建好的容器内,退出一个容器使用 exit ;进入容器后,可以进行基于环境的代码编写
docker ps -a ##查看刚才建立的容器
docker commit -a "root" -m "netcore a image" 06bd8d7cbfee netcore:v1 ##从容器创建一个新的镜像,root处是提交者的名字
上面这个操作的含义是:将某一个容易重新打包成一个新的镜像,故上面的id是CONTAINER ID 而不是Image Id
docker rm $(docker ps -a -q) ##删除所有未运行 Docker 容器;都删除了,因为都没有在运行
docker rmi $(docker images -q) ###删除所有镜像,额,都删了
这个是我在我的理解与学习下,同时参考前辈的博文,整理出来的基于linux的docker安装,有不足的地方,希望大家指出来
PS.该博文参考 https://www.cnblogs.com/lori/p/6680380.html 写的真的很好,赞,受益匪浅