Docker的基本安装步骤及常用命令
Docker基本概念不用多说了,既然找Docker安装教程,那么一定基本了解Docker是什么?能用来干什么?
下面就直接进入正题,如何在Linux上安装Docker?我这里的基本环境位CentOS 7.0的版本.
一、安装Docker
1、卸载之前已经尝试或者成功安装了的Docker版本(如果未曾安装过请忽略)
# '\'是为了换行,让要执行的命令跟清晰,也可将换行去掉后一行直接运行
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、为了能够在安装的时候速度快,所以配置使用aliyun的yum源
# yum-utils提供了config的一些工具
sudo yum install -y yum-utils
# aliyun的仓库地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装Docker,由于Docker现在已经分为ce社区版和ee企业版,我这里就安装ce社区版
# docker-ce是社区版核心文件
# docker-ce-cli是社区版本的命令行工具
# containerd.io是Docker的容器核心文件
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 这边安装的都是默认最新版本的Docker相关文件和依赖,在安装时可以自定义版本的Docker进行安装
# 使用以下命令查询目前docker-ce的版本有哪些
sudo yum list docker-ce --showduplicates | sort -r
4、启动Docker并且将Docker加入到Linux开机自启动项
# systemctl enable docker是加入开机自启动
# --now是马上启动
systemctl enable docker --now
5、查看Docker是否安装成功并且已经正常启动
# 可以使用info查看基本信息,这里要使用sudo获取权限,包括整个操作Docker的过程中都要使用sudo才行
sudo docker info
# 如下图,里面包含了Docker的一些基本信息和当前宿主机的基本信息
6、配置Docker镜像的加速下载地址,示例以阿里云为例,自己到阿里云注册后再容器的加速工具里找到按照说明配置好
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
到此,Docker的基本安装已经结束
二、Docker的基本命令
1、安装镜像
搜索镜像的地址可以到https://hub.docker.com/上搜索
# 使用docker pull进行镜像的拉取 : 后面的是指定镜像的版本(签名Tag)
sudo docker pull nginx:latest
2、镜像操作
# 查看镜像
sudo docker images
# 删除镜像
sudo docker rmi 镜像ID
3、启动镜像容器,以nginx为例
# 容器启动命令常用解析
# 参数解析:
# -d 表示后台启动运行
# -p 是端口映射
# --restart=always表示自动重启
# -v 表示地址映射
sudo docker run -d -p 80:80 \
-- restart=always \
-v /docker/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf \
-v /docker/nginx/data:/usr/share/nginx/html:ro \
nginx
4、容器的基本操作
# 查看当前运行容器
sudo docker ps
# 查看当前所有的容器
sudo docker ps -a
# 删除已停止的容器
sudo docker rm 容器ID
# 强制删除容器包括正在运行的
sudo docker rm -f 容器ID
# 停止正在运行的容器
sudo docker stop 容器ID
# 启动停止的容器
sudo docker start 容器ID
sudo docker restart 容器ID
# 修改已经创建运行的容器参数
sudo update 容器ID 参数(例如: --restart=always)
5、和容器进行交互
# 使用exec壳命令进入容器系统
sudo docker exec -it 容器ID /bin/bash
# 成功进入容器后就可以像正常的linux一样操作容器内的内容
6、提交修改后的镜像
# 使用commit提交到本地
sudo docker commit -a "提交作者" -m "新镜像的变化内容描述" 原镜像的ID 新镜像的名称:版本号
# 示例
sudo docker commit -a "yangs" -m "配置负载均衡" 85057901c22e nginx-upstream:1.0.0
7、镜像的传递
# 有些公司环境需要为离线状态,直可以在局域网通信
# 离线传输
# 1.打包镜像为压缩包
sudo docker save -o nginx-upstream-1.0.1.tar ngixn-upstream:1.0.1
# 2.别的机器加载压缩包为镜像,linux之前传输文件可以使用scp
sudo docker load -i nginx-upstream-1.0.1.tar
8、将本地的镜像提交到dockerHub上
1)到https://hub.docker.com/上注册账户
2)创建对用的仓库
3)上传镜像
# 根据仓库创建时右边的提心命令进行对镜像操作
# 修改镜像名为仓库要求格式
# docker tag local-image:tagname new-repo:tagname
sudo docker tag ngixn:latest justfive/nginx-upstream:1.0.1
# 需要先登录到docker hub
sudo docker login
# 开始推送
sudo docker push justfive/nginx-upstream:1.0.1
# 推送成功后就可以通过命令在别的机器上下载
sudo docker pull justfive/nginx-upstream:1.0.1
8、排查时查看日志文件
sudo docker logs 容器ID