Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。
Docker安装教程,基于centos7.9
Docker的常用命令 帮助命令docker version #显示docker的版本信息 docker info #显示更详细的docker信息 docker --help #帮助命令,可以查询所有命令镜像命令
docker pull 镜像名 #下载镜像 docker pull mysql #下载mysql镜像,需注意,下载的是最新版的镜像 docker pull 镜像名称[:tag] #注明版本信息 docker pull mysql:5.7 #下载5.7版本的mysql镜像,需注意镜像版本需要是docker仓库中有的 docker rmi 镜像名/镜像id #删除指定镜像,可以删除多个!写多个镜像名或镜像id即可 docker rmi -f $(docker images -aq) #删除全部镜像容器命令
容器使用前提是有镜像,所以下载centos的镜像用来学习
docker pull centos
新建容器并启动
docker run [可选参数] 镜像的标识|镜像名称 # 常用的参数 # -d 代表后台运行容器 # -p 主机端口:容器端口: 为了映射当前Linux的端口和容器的端口(常用) # --name 容器名称: 指定容器的名称 # -it 使用交互方式运行,进入容器查看内容 docker run -it centos /bin/bash #启动并进入容器(centos)
查询操作
docker ps #查看当前正在运行的容器 docker ps -a #查看曾经运行过的 docker ps -q #显示容器的编号
退出操作
exit #直接退出并关闭容器 Ctrl+P Ctrl+Q #不关闭退出容器
删除操作
docker rm 容器id #删除指定容器,不能删除正在运行的容器 docker rm -f 容器id #强制删除 docker rm -f $(docker ps -aq) #删除所有容器 docker ps -a -q|xargs docker rm #删除所有容器
启动和停止操作
docker start 容器id #启动容器 docker run -d 容器id # 后台启动容器,需注意,若无前台服务,容器启动后会自杀 docker restart 容器id #重启容器 docker stop 容器id #停止正在运行的容器 docker ki1l 容器id #强制停止指定容器 #类似linux指令
其他常用命令
docker logs -f 容器id #查看容器日志 -f: 可以滚动查看日志的最后几行 docker inspect 容器id #查看容器的元数据 docker exec -it 容器id #进入容器内部 docker attach 容器id # 进入容器正在执行的终端,不会启动新进程 docker cp #容器id:容器内路径 目的主机路径
操作实例1,部署nginx
#第一步,在dockerhub查询nginx镜像 ```powershell #第二步,拉取镜像 docker pull nginx
#第三步,查看已拉取镜像 docker images
#第四步,启动nginx #-d 后台运行方式启动 #--name 起别名 #-p 3344:80 分别暴露宿主机端口和容器内部端口 docker run -d --name nginx01 -p 3344:80 nginx
#第五步,确认启动 docker ps -a
#第六步,访问nginx,在本地访问 curl localhost:3344
第七步,使用公网进行测试
#第八步,进入容器 docker exec -it nginx01 /bin/bash



