Bootstrap

linux上安装和启动docker

1.安装Docker

  1.  这里我们将Docker安装到CentOS7上,最好是将yum更新下
sudo yum update

    2. 安装需要的软件包yum-util(如果不安装则第三步会出现yum-config-manager: command not found的错误), yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    3. 设置yum源,这里设置为阿里云,如果不设置将会连接国外的站点,可能会安装失败

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

如果yum之前就设置好了,就可以进行docker的安装了

    1. 安装docker,这里安装的是docker-ce(社区版),而docker-ee是企业版,是收费的

sudo yum install docker-ce

    2.等待安装,并根据提示做好选择,安装完成后输入如下命令:

docker -v

结果如下:

说明docker安装成功了

2.设置ustc的镜像

ustc是老牌的linux镜像服务提供者了,还在遥远的ubuntu 5.04版本的时候就在用。ustc的docker镜像加速器速度很快。ustc docker mirror的优势之一就是不需要注册,是真正的公共服务。

创建/etc/docker/daemon.json(这里docker文件夹和daemon.json文件都需要创建)

然后编辑daemon.json

vi /etc/docker/daemon.json

写入如下内容(或者使用阿里云镜像,配置方法可参考https://blog.csdn.net/sinat_32247833/article/details/79767263):

{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

3.Docker的启动与停止

    1. 启动docker(systemctl 命令是系统服务管理器指令)

systemctl start docker

然后查看docker状态

systemctl status docker

出现如下结果说明docker已启动

2. 停止docker

systemctl stop docker

active后面显示dead说明已停止

其他指令:

重启docker:systemctl restart docker

开机启动:systemctl enable docker

查看docker概要信息:docker info

查看docker帮助文档:docker --help

4.镜像相关命令

1. 查看镜像

docker images

REPOSITORY:镜像名称

TAG:镜像标签

IMAGE ID:镜像ID

CREATED:镜像的创建日期(不是获取该镜像的日期)

SIZE:镜像大小

这些镜像都是存储在Docker宿主机的/var/lib/docker目录下

2.搜索镜像

搜索镜像命令:docker search 镜像名称

docker search 镜像名称

NAME:仓库名称

DESCRIPTION:镜像描述

STARS:用户评价,反应一个镜像的受欢迎程度

OFFICIAL:是否官方

AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

3.拉取镜像

拉取镜像就是从中央仓库中下载镜像到本地

docker pull 镜像名称

当pull镜像是如果不指定tag则默认是lastest版本,如下图

如果要指定版本,则加上“:”然后制定名称,例如下载centos7:

docker pull centos:7

4.删除镜像

按镜像ID删除镜像

docker rmi 镜像ID

删除所有镜像

docker rmi docker images -q

5.容器相关命令

查看正在运行的容器

docker ps

查看所有容器(包括运行的和未运行的)

docker ps –a

查看最后一次运行的容器

docker ps –l

查看停止的容器

docker ps -f status=exited

6.创建与启动容器

创建容器命令:docker run

 -i:表示运行容器

 -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。

 --name :为创建的容器命名(容器名称不能重复)。

 -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

 -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。

 -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射

1.交互式方式创建容器

docker run -it --name=容器名称 镜像名称:标签 /bin/bash

如图:

可以看到不一样了,并且使用docker命令无效,此时是因为我们已经进入到了mycentos的容器里了。并且可以使用centos的命令,此时就相当于一台服务器。

再启动一个窗口连接centos,输入docker ps,可以看到我们启动的容器:

图中的up表示正在运行的容器。

在mycentos容器中输入exit命令则退出容器,再次输入docker ps发现看不到运行的容器了,输入docker ps -a则可以看到之前运行的容器状态为exited

这就是交互式方式运行容器,即当我们退出容器时,容器也停止运行了。

2.守护式方式创建容器

docker run -di --name=容器名称 镜像名称:标签

当出现如图中的一长串字符是则表示容器创建成功。并且输入docker ps时可以看到当前运行的容器。

进入守护式容器:

docker exec -it 容器名称(或者容器ID)  /bin/bash

此时输入exit退出,再去查看容器状态发现容器还在运行。这就是守护式方式运行容器。

3.停止与启动容器

停止容器:

docker stop 容器名称(或者容器ID)

启动容器:

docker start 容器名称(或者容器ID)

删除指定的容器:

docker rm 容器名称(容器ID)

7.私有仓库搭建与配置

(1)拉取私有仓库镜像

docker pull registry

(2)启动私有仓库容器
docker run -di --name=registry -p 5000:5000 registry

(3)打开浏览器 输入地址http://192.168.xxx.xxx:5000/v2/_catalog看到`{"repositories":[]}` 表示私有仓库搭建成功并且内容为空

(4)修改daemon.json
vi /etc/docker/daemon.json

vi /etc/docker/daemon.json

添加以下内容,保存退出。

{"insecure-registries":["192.168.xxx.xxx:5000"]}

此步用于让 docker信任私有仓库地址

(5)重启docker 服务
systemctl restart docker

;