主要是想记录一下吧, 一些docker的简单入门,宝库安装,部署,还有基础常用的命令.
要求
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
安装Docker
这篇文章安装的是docker-ce版本
首先,如果安装过老旧的版本,先卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
然后安装一些所需要的依赖包:
yum -y install yum-utils device-mapper-persistent-data lvm2
添加docker阿里yum源:
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新缓存
yum makecache fast
安装 Docker-ce:
yum -y install docker-ce
启动 Docker 后台服务并测试:
systemctl start docker
[root@docker ~]# docker run hello-world
# 运行后因为本地没有镜像,会远程下载一个hell-world镜像,并运行
查看镜像:
# 查看docker运行的
[root@docker ~]# docker ps
镜像加速:
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
重启服务:
systemctl restart docker
使用
命令帮助:
# docker命令帮助
docker --help
man docker
# 子命令帮助
docker imags --help
docker基本命令
# 1.镜像命令
docker images 镜像 # 查看
docker history 镜像 # 查看镜像制作历史 制作过程
docker inspect [镜像|容器|网络] # 查看镜像底层信息(详细信息) 镜像里的详细信息重要的Env(环境变量) 和Cmd(默认开启的)容器,就是进入容器之后root@后面的名字就是容器名
docker rmi 镜像 # 删除镜像,启动过的容器的镜像,需要先删除容器,再删除镜像
docker save 镜像 # 导出保存镜像
docker load # 导入
docker tag # 拷贝并可以重命名镜像(类似与软连接),名字和标签可以变,但是id不会变化
docker search 镜像 # 搜索镜像
docker pull # 下载镜像
docker push # 上传
# 2.容器命令
docker run
docker ps
docker [stop|start|restart] id
docker rm id
docker top id
docker attach|exec id
docker inspect id
查看镜像:
# 查看所有镜像
docker images
# 搜索镜像(在docker商城里搜索)
docker search xxx
下载镜像:
# 首先要能搜索到镜像才可以下载
docker search nginx
# 下载
docker pull nginx
导入,导出镜像
导出:
docker save busybox:latest > busybox.tar
# 冒号后面是标签,不写就是默认的标签 导出的文件本来就是一个tar文件
# file busybox.tar 命令查看文件的类型
导入:
# 将备份文件传给其他机器
docker load < busybox.tar
# 在使用doker images 查看
运行镜像
格式:
docker run [-选项] 镜像:标签 命令 # 在容器里的命令
# 如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
# -i:允许你对容器内的标准输入 (STDIN) 进行交互
# -t:在新容器内指定一个伪终端或终端。
# -d:后台运行 不加上-d选项,如果推出就会关闭容器
# -p:端口映射,将容器内部使用的网络端口映射到我们使用的主机上. 5000:5000 80:80
1.运行容器
docker run centos /bin/echo 'hello-world!
2.交互式
[root@docker ~]# docker run -it centos /bin/bash
[root@f08d19cf1aa7 /]#
- 3.后台模式
docker run -itd nginx -p 80:80
查看已经运行的容器:
docker ps # 显示的是当前正在运行的容器
# -a 选项, 就是显示全部
# -q 只是显示id
启动,停止,重启容器:
# docker [stop|start|restart] id
docker stop 23sad155x # ID不用全写,写前面几位就可以了
删除容器:
docker rm -id
# 支持类似管道的操作
docker rm %(docker stop $(docker ps -aq)) # 将所有运行过得容器id查询出来,再传给stop停止,最后删除
查看容器进程:
docker top id
# 查看所有容器进程
for i in `docker ps -aq`
do
echo "#----$i------------------"
docker top $i
done