docker基础大全总结

docker大图

在这里插入图片描述

Docker的安装和使用-centos7

最新的 Docker 支持情况,官方文档在这里:

https://docs.docker.com/install/

Docker 对于内核支持的功能,即内核的配置选项也有一定的要求(比如必须开启 Cgroup 和 Namespace 相关选项,以及其他的网络和存储驱动等),centos7内核版本不低于 3.10, Docker 源码中提供了一个检测脚本来检测和指导内核的配置,脚本链接在这里:

https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh

首先我们需要卸载掉旧版本的 Docker

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

实际情况可以rpm看系统安装了哪些docker组件,就删除这些即可

[root@t1 docker]# rpm -qa|grep docker
docker-client-1.13.1-102.git7f2769b.el7.centos.x86_64
docker-common-1.13.1-102.git7f2769b.el7.centos.x86_64
docker-1.13.1-102.git7f2769b.el7.centos.x86_64

yum remove docker -y
yum remove -y docker-client
yum remove -y docker-common

我们执行以下安装命令去安装依赖包:

$ yum install -y yum-utils \
    yum install -y  device-mapper-persistent-data \
   yum install -y  lvm2

执行check-config.sh(见上面的链接),有如下miss:

 (RHEL7/CentOS7: User namespaces disabled; add 'user_namespace.enable=1' to boot command line)

不修正也能用docker,但为了安心,如下修正,需要重启生效:

grubby --args="user_namespace.enable=1" --update-kernel="$(grubby --default-kernel)"
reboot

Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。

 yum install docker
 
[root@t1 docker]# rpm -qa|grep docker
docker-client-1.13.1-102.git7f2769b.el7.centos.x86_64
docker-common-1.13.1-102.git7f2769b.el7.centos.x86_64
docker-1.13.1-102.git7f2769b.el7.centos.x86_64

启动docker,查看docker状态,查看docker版本

systemctl start docker
systemctl status docker
docker version

从docker官方镜像仓库下载镜像,library/hello-world 是 image 文件在仓库里面的位置,其中 library 是 image 文件所在的组, hello-world 是 image 文件的名字。

docker pull library/hello-world

查看镜像

docker images

运行镜像

docker run hello-world

常用的命令大图:
在这里插入图片描述查找镜像

docker search nginx

我们需要拉取一个 docker 镜像,我们可以用如下命令:

docker pull docker.io/nginx

image_name 为镜像的名称,而如果我们想从 Docker Hub 上去下载某个镜像,我们可以使用以下命令:

docker pull centos:latest
docker pull docker.io/nginx

centos:lastest 是镜像的名称, Docker发现本地没有我们需要的镜像,会自动去 Docker Hub 上去下载镜像,下载完成后,该镜像被默认保存到 /var/lib/docker 目录下,如果没有指定冒号后面的版本,则默认会下载最新的latest版本。

接着我们如果想查看下主机下存在多少镜像,我们可以用如下命令:

docker images

那如果我们想运行这个容器中的镜像的话,并且调用镜像里面的 bash ,我们可以使用如下命令:81是宿主机port,80是容器里的nginx的port,–name取名字,-d后台运行容器,nginx:latest镜像的名字。

docker run -t -i container_name/container_id /bin/bash
docker run -p 81:80 --name nginx-1  -d nginx:latest

我们要想知道当前有哪些容器在运行,我们可以用如下命令:

docker ps -a

-a 是查看当前所有的容器,包括未运行的

我们该如何去对一个容器进行启动,重启和停止呢?我们可以用如下命令:

docker start container_name/container_id
docker restart container_name/container_id
docker stop container_name/container_id

这个时候我们如果想进入到这个容器中,我们可以使用 attach 命令:

docker attach container_name/container_id

那如果这个时候,我们想删除指定镜像的话,由于 image 被某个 container 引用(拿来运行),如果不将这个引用的 container 销毁(删除),那 image 肯定是不能被删除。我们首先得先去停止这个容器:

docker ps
docker stop container_name/container_id

然后我们用如下命令去删除这个容器:

docker rm container_name/container_id

然后这个时候我们再去删除这个镜像:

docker rmi image_name
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值