Docker的安装

安装环境:
Docker最低支持Centos7系统,并且内核版本不低于3.10。

升级所有软件包

yum -y update

安装步骤:

①阿里云的安装脚本

curl -sSl http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

 ②手动

更新完软件包下一步需要安装Docker-engine,

//查看一下系统里是否存在Docker的repo包,

ls /etc/yum.repo.d/

发现并没有Docker的docker.repo包,然后配置一下Docker的yum源,

执行

vim /etc/yum.repos.d/docker.repo

[dockerrepo]
name=Docker Repository
baseurl=http://yum.dockerproject.org/repo/main/centos/$releasever/
enabled=1
gpgcheck=0

粘贴进去,配置好后安装docker-engine

yum -y install docker-engine

安装好了之后准备启动Docker服务。(可以把docker-engine理解为虚拟机vmware,因为新建虚拟机需要把vmware服务启动)

systemctl start docker
systemctl enable docker //设置服务自启动
systemctl status docker //查看docker服务的状态

 

查看Docker信息(确认服务运行)

docker info

更多命令使用docker --help查看

想要创建一个新的container容器的话,我们要基于image,通过docker info 命令可以查看Container的数量和Image的数量,没有Image就没法创建Container,需要寻找Image然后下载Image,基于Image创建Container。

使用docker search centos,其实就是在Dcoker Hub上寻找Image。

找到之后然后拉取下载Image

docker pull centos

完成之后使用
docker images命令查看系统存在的image列表

然后运行一个Container
//centos是image的名字,基于centos这个image。
docker run -i -t centos /bin/bash
执行完命令之后出现一串字符串,其实是容器的id,也就代表已经在这个容器里面了,在里面就可以安装一些软件了,比如httpd,php什么的。

完整举例:

docker run -it centos:6 /bin/bash
-it  //指定要创建交互式容器
centos:6   // 以仓库:TAG的形式制定了镜像名称
/bin/bash  // 容器对应的进程,会启动一个新的shell

通过如上命令,我们启动了新的shell,并运行在容器环境中。由于是一个交互式容器,所以我们会离开当前的shell,被这个新的shell带入到容器的虚拟世界中,此后我们在这个shell里面执行的任何命令,都是相对于这个虚拟世界的。

退出命令是exit

docker ps 命令是查看当前节点上运行的容器列表
docker ps -a 是查看所有容器(包括运行和停止的)
docker kill docker_id 杀掉某个docker进程,只是关掉,没删除。
docker start docker_id 启动
docker stop docker_id 停止
docker restart docker_id 重启
docker rm docker_id 删除某个容器

创建新的Image

//docker commit
先启动一个新的Container

docker run -ti centos /bin/bash //基于centos镜像创建一个新的Container获取一个shell

随便安装一个想要安装的软件,也就是在容器里安装了。
然后exit退出,结合docker ps | -a 命令观察状态。
先看一下,执行docker images,
然后把新的容器id复制,执行

docker commit docker_id centos:tag_name //这样就封装了一个新的image,里面多了你安装的软件之类的。

 ---------------------------------------

docker images --format "{{.ID}}:{{.Repository}}"  //直接列出镜像结果,只包括ID和仓库名

 

原文地址:https://www.cnblogs.com/wt645631686/p/7383663.html