docker 二进制安装
docker 的二进制安装软件安装包
http://170.101.103.6/1_%C8%ED%BC%FE/4_%B7%FE%CE%F1%C6%F7/6-docker/
docker 二进制安装
1. 解压 docker_install.zip2. 解压tar xzvf docker-17.09.1-ce.tgz3. 拷贝二进制文件sudo cp docker/* /usr/bin/4. 拷贝serivce配置文件sudo cp docker.service /usr/lib/systemd/system5. 起停docker的相关命令systemctl enable docker 开机自动启动systemctl start docker 启动dockersystemctl stop docker 停止dockersystemctl status docker 查看docker 的运行状态systemctl stop firewalld.service 关闭防火墙 如果运行报错的画
docker-compose 安装
下载 docker-compose.zip 将其安装到 环境变量就可执行 或者 放到 /use/local/bin/ 下面chmod 755 docker-compose 增加可执行权限
yum 安装centos7 docker
编辑yum源
1.使用阿里的yum源cd /etc/yum.repos.dtar zcvf all.tar.gz * - 备份所有 repo 文件wget http://170.101.103.6/9_yuan/repo/centos-7.repo --下载repo文件yum clean allyum makecache --建立缓存配置 外网yum 源代理修改 vim /etc/yum.conf 在最下面添加proxy=http://172.18.199.5:3128就可以在不上外网的情况下单独使用外网 访问yum源了
安装最新docker
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本$ uname -r2、使用 root 权限登录 Centos。确保 yum 包更新到最新。$ sudo yum update3、卸载旧版本(如果安装过旧版本的话)$ sudo yum remove docker docker-common docker-selinux docker-engine4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的$ sudo yum install -y yum-utils device-mapper-persistent-data lvm25、设置yum源$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo--如果下载不了,那么就只能从其他linux服务器手动复制了。6、可以查看所有仓库中所有docker版本,并选择特定版本安装$ yum list docker-ce --showduplicates | sort -r7、安装docker$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0 $ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce8、启动并加入开机启动$ sudo systemctl start docker $ sudo systemctl enable docker9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)$ docker version
docker 的一些配置
1.配置docker 加速器 和外网代理
1.docker 本身使用的源是在国外的可能比较慢。可以设置阿里云自己的代理2.登录 阿里云 使用支付宝登录申请帐号(这里使用我申请的帐号)https://dev.aliyun.com/search.html3. 如何使用Docker加速器针对Docker客户端版本大于1.10的用户您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-'EOF'{"registry-mirrors": ["https://tslei8p0.mirror.aliyuncs.com"]}EOFsudo systemctl daemon-reloadsudo systemctl restart docker
其他配置
1.运行时家目录修改{"graph": "/home/docker/docker_root"}1.1 修改仓库镜像{"insecure-registries": ["www.harbor.com","170.130.103.87"]}2.docker 外网拉取镜像(走代理服务器)centos7和centos6有区别,这里只介绍centos7的做法:- 新建文件夹/etc/systemd/system/docker.service.d- 新建文件https_proxy.conf 增加内容[Service]Environment="HTTPS_PROXY=http://172.18.199.5:3128"- 重启docker3.修改docker 默认监听的端口(让其他客户端的机器可以访问)vi /usr/lib/systemd/system/docker.service修改如下ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock
docker images
- docker images ls ##列出所有镜像
- docker images ls -a ##列出所有镜像
1.镜像1.docker 下载与删除镜像1>docker search 查询镜像文件2>docker pull name[:TAG] 从仓库中下载指定的镜像eg.docker pull centos 下载 最新的centos镜像3>docker images 查看本机镜像信息4> docker inspect 镜像id 查看该镜像的详细信息5> docker rmi 镜像id/镜像名称 删除镜像2.创建镜像与导出镜像1> 基于已有容器创建镜像docker commit-a --author 作者的信息-m --message 提交的信息-p --pause=true 提交时暂停容器的运行eg. 196e0ce0c9fb2> docker save -o centos.tar.gz centos 导出镜像3> docker load --input centos.tar.gz 导入镜像4> docker tag 镜像id 仓库:标签 重命名镜像标签
docker container
容器是镜像的一个运行实例
1.例子
1>docker run -it --rm ubuntu:16.04 bash- -it :这是两个参数,一个是 -i :交互式操作,一个是 -t 终端。我们这里打算进入bash 执行一些命令并查看返回结果,因此我们需要交互式终端。- --rm :这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动 docker rm 。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用 --rm 可以避免浪费空间。- ubuntu:16.04 :这是指用 ubuntu:16.04 镜像为基础来启动容器。- bash :放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 bash*进入容器后,我们可以在 Shell 下操作,执行任何所需的命令。这里,我们执行了 cat/etc/os-release ,这是 Linux 常用的查看当前系统版本的命令,从返回的结果可以看到容器内是 Ubuntu 16.04.4 LTS 系统。最后我们通过 exit 退出了这个容器*1> docker create -it centos:lastest 创建容器2> docker run centos /bin/echo 'hello world' 运行容器3> docker run -ti centos /bin/bash开启一个 bash终端 允许用户进行交互exit 或者 ctrl+d 来退出容器docker run --name=wangzhen -t -i ubuntu建立一个名字为wangzhen 的容器docker run -tdi 进入后台运行docker attach 进入容器docker start [-i] 容器名 重新运行 已经停止的容器4> docker rm 删除处于终止状态的容器-f 强制终止并删除一个运行中的容器-l 删除容器的连接 ,当保留容器-v 删除容器挂载的数据卷5> 导入与导出容器docker ps 查看当前正在运行的容器docker ps -a 查看所有的容器查看容器iddocker export id> test_for_run.tar 导出容器car test_for_run.tar|docker import - test/ubuntu:v1.0 导入容器
