Docker命令
docker组成
镜像(image)
- 可以通过镜像用来创建多个容器
容器(container)
- 独立运行一个或一组应用,通过镜像来创建
- 可以进行启动、停止、删除等操作
仓库(repository)
- 存放镜像得地方docker hub
- 仓库分为共有仓库和私有仓库
安装与卸载
安装docker
- yum install -y yum-utils #安装yum工具
- yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #使用阿里云docker镜像
- yum makecache fast #更新yum索引
- yum install docker-ce docker-ce-cli containerd.io #安装docker相关工具
- systemctl start docker #启动docker
- docker version #查看是否启动成功
- docker run hello-world #使用docker启动
卸载docker
- yum remove docker-ce docker-ce-cli containerd.io # 删除依赖
- rm -rf /var/lib/docker #删除docker资源文件
使用
常用命令
-
docker官方文档地址:
https://docs.docker.com/reference/ -
docker version # 查看docker版本信息
-
docker info # 查看docker更详细的信息镜像和容器的数量)
-
镜像相关命令
-
docker images #查看已有的docker镜像
- -a 显示所有镜像
- -q 只显示镜像id
-
docker search 镜像名 #搜索docker镜像
-
docker pull 镜像名 # 下载镜像
- docker pull 镜像名[:tag] # 可以指定镜像的版本 tag,默认使用最新版的
-
docker rmi 镜像名|镜像id # 删除镜像
- -f 强制删除
- docker rmi $(docker images -aq) #删除全部镜像
-
-
容器相关命令
-
docker run 镜像名 #启动一个容器
-
–help # 查看其他可选项
-
–name=“name” #容器名字
-
-d # 后台运行
-
-i -t 要运行的命令 # 使用交互式运行,查看内容
-it /bin/bash # 启动并进入容器 -
-p 物理机端口:容器端口 #端口映射
-p 容器端口
-p 主机ip:主机端口:容器端口 -
-P 随机指定端口开启容器
-
-v 挂载文件
- -v 容器文件 #匿名挂载
- -v 主机文件:容器文件 #具名挂载
-v test:/root 时,test位于 /var/lib/docker/volume下
-
-
docker ps # 查看正在运行的容器
- -a # 查看所有,历史运行过的也会显示
- -n=1 # 显示最近一次运行的容器
- -q #只显示容器的id
-
docker 容器退出
- exit 停止并退出
- ctrl + P +Q 退出容器但不停止运行
-
docker rm 容器id # 删除容器
- -f 强制删除
- docker rm $(docker ps -aq) # 删除全部容器
-
启动和停止容器
- docker start 容器id
- docker restart 容器id
- docker stop 容器id # 停止运行的容器
- docker kill 容器id # 强制停止容器
-
常用其他命令
-
docker run -d 镜像 #后台启动容器
- docker容器使用后台运行就必须要有一个前台进程,docker发现没应用,就会自动停止
-
docker logs # 查看日志
- -f --tail 10 -t 容器id
-
docker top 容器id #查看容器内进行信息
-
docker inspect 容器id #查看容器内部的信息
-
docker exec -it 容器id bashshell #进入当前正在运行的容器
docker exec -it d6fe757a57bd /bin/bash #进入容器,一个新的shell -
docker attach 容器id #进入容器,进入的是正在运行的shell
-
docker cp 容器id:容器内文件的路径 宿主机物理路径 # 拷贝容器内的文件到宿主机
docker cp 宿主机物理路径 容器id:容器内文件的路径 # 拷贝宿主机内的文件到容器
-
-
docker volume
- docker volume ls #查看所有卷得情况
- docker volume inspect 具名名称 #查看具名挂载对应得文件
-
-
提交镜像
- docker commit -m=“描述” -a=“作者” 容器id 镜像版本tag
-
镜像构建DockerFile
- DokcerFile就是用来构建docker镜像的构建文件,命令脚本
- docker build -f 指定要用来构建镜像的dockerfile文件 -t tag版本 生成镜像输出的位置.
- 通过 docker history 可以查看镜像的构建过程
- docker save 保存镜像为压缩包
- docker load 导入镜像
-
启动myslq
- -e 配置环境,设置密码
-
docker网络
-
docker network
-
–link 容器名
- 通过 --link连接两个容器,可通过容器名进行访问网络
- 原理即为在docker容器中得 /etc/hosts 中添加对应容器得网络映射
-
自定义网络
-
–net参数,设置网络模式,默认为桥接bridge
-
docker network create --driver bridge --subnet 192.168.0.0/24 --gateway 192.168.0.254 mynet
- –driver 指定网络模式
- –subnet 子网设置
- –gateway 网关
-
连接两个不能相互访问得网络
- docker network connect
-
-
-
docker-compose
- 安装:Linux
curl -L “https://github.com/docker/compose/releases/download/1.29.2/docker-compose- ( u n a m e − s ) − (uname -s)- (uname−s)−(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 开启:
docker-compose up -d
docker 容器数据卷
docker run -it -v 主机目录:容器内目录
- #将主机目录和容器目录做一个映射,容器内的文件和主机目录中得文件是同步的
- 可通过指定多个 -v 参数挂载多个目录
数据卷容器,多个容器共享数据
- –volumes-from 指定父容器
docker配置可视化
portainer docker图形化界面管理工具
- docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer