miaodi
发布于 2020-12-22 / 892 阅读
0

Centos7上安装docker及个人常用命令

Centos7上安装docker及个人常用命令

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。
社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。
社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

一、安装docker

1、确认内核版本高于 3.10

通过 uname -r 命令查看你当前的内核版本

uname -r

2、安装需要的软件包

yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

3、设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、查看仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

5、安装docker

yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
yum install # 例如:

yum install -y  docker-ce-17.12.0.ce

6、启动并加入开机启动

 systemctl start docker
 systemctl enable docker

7、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

docker version

8、 配置阿里云加速

登录阿里云
https://cr.console.aliyun.com/cn-shanghai/instances/mirrors

镜像中心-镜像加速器-复制操作文档-运行

2、常用命令

根据本人常用的命令和理解,默写的常用命令,可能不适用于所有人。

如有错误之处,请指正,谢谢。

2.1 帮助命令

docker help

docker COMMAND --help

docker help [OPTIONS]

这三个命令绝对是前三甲,只需要简单地英文就能看懂。


2.2镜像操作

docker search #查找镜像

docker pull #拉取镜像

docker push #推送镜像

docker login [地址] #登录仓库

docker images #查看本地镜像

docker rmi # 删除本地镜像

docker tag #打包本地镜像

2.3 容器操作

docker ps # 显示正在运行的容器
	-a #显示所有的容器
  --no-trunc #全部显示
  
docker run #创建一个容器
	-i #交互式
	-t #一般跟-i结合使用,-it为在本窗口交互式操作
	-d #守护式
	-p 宿主机端口:容器端口 #端口映射
	-v 宿主机文件夹路径:容器文件夹路径 #共享文件夹
	--name #给容器取别名
	--network=网络名 #使用指定的网络
	--ip=IP地址 #指定ip地址
	-h或者--hostname= #给容器起hostname
	-e #执行容器内自定义的相关的命令(环境变量)
	--restart=always #总是自动重启,如需要开机自启的容器
docker attach #进入一个容器,不过我几乎不用,更倾向于用exec

docker exec #对容器进行操作
	-it #在本tty窗口执行命令
	-t #只向容器发送相关命令,不在终端显示
	
docker cp 宿主机路径 容器名:/容器内路径 # 复制宿主机文件到容器内。
docker cp 容器名:/容器内路径 宿主机路径  # 复制容器内文件到宿主机。

docker stop #停止一个正在运行的容器

docker start #执行一个已停止的容器

docker restart #重启容器

docker rm # 删除容器(容器必须在停止状态)


以上命令,容器名和容器id可以互换使用。

2.4 其他命令

这些命令不常用,就没记住,需要用的时候--help查看下详细命令即可

docker node xxx # 对节点进行操作

docker swarm xxx #对集群操作

docker volume xxx # 对卷进行操作

docker network xxx #对网络进行操作