Docker
一、Docker的安装
查看系统的内核:
uname -r
查看系统配置:
cat /etc/os-release
Docker的安装步骤:
(1)卸载旧的版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
(2)下载需要的安装包
yum install -y yum-utils
(3)设置镜像的仓库
#国外的地址
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 设置阿里云的Docker镜像仓库
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #国外的地址
(4)更新yum软件包索引
yum makecache fast
(5)安装docker相关的配置
#docker-ce 是社区版,docker-ee 企业版
yum install docker-ce docker-ce-cli containerd.io
(6)启动Docker
#启动Docker
systemctl start docker
# 查看当前版本号,是否启动成功
docker version
# 设置开机自启动
systemctl enable docker
(7)Docker的卸载
# 1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2. 删除资源 . /var/lib/docker是docker的默认工作路径
rm -rf /var/lib/docker
(8)配置阿里云镜像加速
#进入阿里云官网,搜索容器镜像服务
#依次执行官方的这四条命令
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ry9drw8x.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
二、Docker常用命令
1.基础命令
docker version #查看docker的版本信息
docker info #查看docker的系统信息,包括镜像和容器的数量
docker 命令 --help #帮助命令(可查看可选的参数)
docker COMMAND --help
命令的帮助文档地址:
https://docs.docker.com/engine/reference/commandline/docker/
2.镜像命令
docker images #查看本地主机的所有镜像
# 可选参数
-a/--all # 列出所有镜像
-q/--quiet # 只显示镜像的id
[root@localhost~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest bf756fb1ae65 11 months ago 13.3kB
#解释:
1.REPOSITORY 镜像的仓库源
2.TAG 镜像的标签
3.IMAGE ID 镜像的id
4.CREATED 镜像的创建时间
5.SIZE 镜像的大小
#搜索镜像
docker search
#搜索收藏数大于3000的镜像
[root@localhost ~]# docker search mysql --filter=STARS=3000
#下载镜像 #如果不写tag默认就是latest
docker pull 镜像名[:tag]
#eg:指定版本下载
docker pull mysql:5.7
#删除镜像
docker rmi
3.容器命令
#拉取一个centos容器
docker pull centos
#运行容器
docker run [可选参数] image
#参数说明
--name="名字" 指定容器名字
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口
(
-p ip:主机端口:容器端口 配置主机端口映射到容器端口
-p 主机端口:容器端口
-p 容器端口
)
-P 随机指定端口(大写的P)
#进入容器
docker run -it centos /bin/bash
#退出容器
#exit 停止并退出容器(后台方式运行则仅退出)
#Ctrl+P+Q 不停止容器退出
exit
#列出运行过的容器
# 列出当前正在运行的容器
docker ps
-a # 列出所有容器的运行记录
-n=? # 显示最近创建的n个容器
-q # 只显示容器的编号
#删除容器
#删除指定的容器,不能删除正在运行的容器,强制删除使用 rm -f
docker rm 容器id
#删除所有的容器
docker rm -f $(docker ps -aq)
#删除所有的容器
docker ps -a -q|xargs docker rm
#启动和停止容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前运行的容器
docker kill 容器id #强制停止当前容器
4.其他常用命令
#日志的查看
docker logs -tf 容器id
docker logs --tail number 容器id #num为要显示的日志条数
#查看容器中进程信息
docker top c703b5b1911f
#进入当前正在运行的容器(两种方式)
docker exec -it c703b5b1911f /bin/bash
docker attach c703b5b1911f
docker exec 进入容器后开启一个新的终端,可以在里面操作
docker attach 进入容器正在执行的终端,不会启动新的进程
#拷贝容器的文件到主机中
docker cp 容器id:容器内路径 目的主机路径
三、命令小结
attach #当前shell下attach连接指定运行镜像
build #通过Dockerfile定制镜像
commit #提交当前容器为新的镜像
cp #从容器中拷贝指定的文件或者目录到宿主机中
create #创建一个新的容器,同run,但不启动容器
diff #查看docker容器变化
events #从docker服务获取容器的实时事件
exec #在已存在的容器中运行命令
export #导出容器的内容作为一个tar归档文件【对应import】
history #炸死你hi一个镜像形成历史
images #列出系统当前镜像
import #从tar包中的内容创建一个新的文件系统映像【对应export】
info #显示系统相关信息
inspect #查看容器详细信息
kill #kill指定的docker容器
load #从一个tar包中加载一个镜像【对应save】
login #注册或者登录一个docker源服务器
logout #从当前Docker registry中退出
logs #输出当前容器日志信息
port #查看映射端口对应的容器内部源端口
pause #暂停容器
ps #列出容器列表
pull #从docker镜像源服务器拉去指定镜像或者库镜像
push #推送指定镜像或者库镜像至docker源服务器
restart #重启运行的容器
rm #移除一个或多个容器
rmi #移除一个或多个镜像【无容器使用该镜像才可删除,否则需删除相关容器才可以继续 或者-f强制删除】
run #创建一个新的容器并运行一个命令
save #保存一个镜像为一个tar包【对应load】
search #在docker hub 中搜索镜像
start #启动容器
stop #停止容器
tag #给源中镜像打标签
top #查看容器中运行的进程信息
unpause #取消暂停容器
version #查看docker版本号
wait #截取容器 停止时的推出状态值