docker 学习–02 常用命令
docker 学习-- 01 基础知识
docker 学习-- 02 常用命令
docker 学习-- 03 环境安装
docker 学习-- 04 实践 1(宝塔)
docker 学习-- 04 实践 2 (lnpmr环境)
1. 帮助启动类命令
1.1启动docker
systemctl start docker
1.2 停止docker
systemctl stop docker
1.3 重启docker
systemctl restart docker
1.4 查看docker
systemctl status docker
1.5 设置开机自启
systemctl enable docker
1.6 查看docker概要信息
docker info
1.7 查看docker总体帮助文档
docker --help
1.8 查看docker命令帮助文档
docker 命令 --help
example:
docker run --help
2. 镜像命令
2.1 列出本地主机上有的镜像
docker images [OPTIONS]
常用参数:
-a :列出所有的镜像 (含历史映像层)
-q :只显示镜像ID
example:
docker images -a
docker images -q
docker images -aq
docker images php #查找镜像名为php的镜像
//REPOSITORY:表示镜像的仓库源
//TAG:镜像的标签版本号
//IMAGE ID:镜像ID
//CREATED:镜像创建时间
//SIZE:镜像大小
2.2 查询镜像库
docker search [OPTIONS] 镜像名字
常用参数:
--limit nu #只输出查到的前nu条记录
example:
docker search php
docker search --limit 10 php
//NAME:镜像名称
//DISCRIPTION:镜像说明
//STARTS:点赞数
//OFFICAL:是否是官方认可的
//AUTOMATED:是否自动构建
2.3 从远程库拉取镜像
docker pull 镜像名字[:TAG]
example:
docker pull php:7.2
docker pull php # 没有指定版本即拉取最新版
2.4 查看镜像/容器/数据卷所占的空间(使用时注意自己是否有权限)
//检查Docker镜像的磁盘空间
docker system df
//查该命令将显示所有正在运行的Docker容器的磁盘使用情况
docker ps -s
//检查Docker容器的详细磁盘使用情况
//该命令将显示指定Docker容器的详细磁盘使用情况,包括容器的各个层的大小。
docker inspect | grep -i "size"
2.5 删除本地镜像
//删除单个
docker rmi 镜像ID #删除镜像,如果此时镜像上面有容器正在运行,会报错无法删除
docker rmi -f 镜像ID #强制(forced)删除镜像
//删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG
//删除全部(慎用)
docker rmi -f $(docker images -qa)
#首先docker images -qa会列举本地所有的镜像的ID,然后作为一个集合送入rmi一个个删除
2.6 创建新的镜像
docker commit -m="提交的描述信息" -a="作者" 容器ID 要创建的目标镜像名:[标签名]
2.7 通过Dcokerfile构建镜像
Dockerfile是使用Docker构建镜像的一种常见方式,它是一个文本文件,包含了构建镜像所需的命令和指令 格式如下
//Dockerfile常见命令:
//FROM image_name:tag 声明基础镜像
//MAINTAINER user_name 声明镜像的作者
//ENV key value 设置环境变量 (可以写多条)
//RUN command 编译镜像时运行的脚本(可以写多条)
//CMD 设置容器的启动命令
//ENTRYPOINT 设置容器的入口程序
//ADD source_dir/file dest_dir/file 将宿主机的文件复制到镜像内,如果是一个压缩文件,将会在复制后自动解压。支持URL路径下载源文件,但下载方式不能自动解压。
//COPY source_dir/file dest_dir/file 和ADD相似,将宿主机的文件复制到镜像内,但是如果有压缩文件并不能解压。不支持URL路径下载。
//WORKDIR path_dir 设置工作目录
//ARG 设置编译镜像时加入的参数
//VOLUMN 设置容器的挂载卷
//示例
#(1)建立工作目录
mkdir /opt/apache
cd /opt/apache
#(2)准备Dockerfile文件
vim Dockerfile
#基于的基础镜像
FROM centos:7
#维护镜像的用户信息
MAINTAINER this is apache image <zy>
#镜像操作指令安装apache软件
RUN yum -y install httpd
#开启80端口
EXPOSE 80
#复制网站首页文件
ADD index.html /var/www/html/
#指定启动容器时第一个运行的命令,前台运行apache
//方法一:
#将执行脚本复制到镜像中
ADD run.sh /run.sh
RUN chmod 755 /run.sh
#启动容器时执行脚本
CMD ["/run.sh"]
//方法二:
ENTRYPOINT ["/usr/sbin/apachectl"]
CMD ["-D", "FOREGROUND"] #FOREGROUND前台运行
#默认情况下apache是在后台运行需要-D指定FOREGROUND表示前台运行否则执行完第一条命令会停止镜像
#(3)准备执行脚本。使用方法一的情况下需要准备执行脚本,使用方法二可跳过此步骤。
vim run.sh
#!/bin/bash
#清理httpd的缓存
rm -rf /run/httpd/*
#指定为前台运行
/usr/sbin/apachectl -D FOREGROUND
#因为Docker容器仅在它的1号进程(PID为1)运行时,会保持运行。如果1号进程退出了,Docker容器也就退出了。
#(4)准备网站页面
echo "this is apache web" > index.html
#(5)生成镜像(构建镜像)
docker build -t httpd:centos . #注意别忘了末尾有"."
#(6)使用新镜像运行容器
docker run -d -p 6666:80 httpd:centos #指定映射端口1314
#使用宿主机IP和1314端口,测试网页访问
http://IP:6666/
3容器命令
3.1 新建启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用参数:
--name=NAME #为容器指定名字为NAME,不使用的话系统自动为容器命名
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互,一般连用,即-it);
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
example:
以ubuntu为例,启动后要交互先声明交互模式,其次交互得需要一个终端,因此参数为-it
docker run -it ubuntu /bin/bash
指定名称
docker run -it --name=myubuntu ubuntu /bin/bash
3.2 查看容器 大小
docker ps [OPTIONS]
常用参数:
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n nu:显示最近nu个创建的容器。
-q :静默模式,只显示容器编号
3.3 退出容器
//1.run进去容器,exit退出,容器停止
exit
//2.run进去容器,ctrl+p+q退出,容器不停止
3.4 进入正在运行的容器并以命令行交互
//exec 是在容器中打开新的终端,并且可以启动新的进程。用exit退出,不会导致容器的停止。
//attach 直接进入容器启动命令的终端,不会启动新的进程。用exit退出,会导致容器的停止。
docker exec -it 容器ID/容器名称 bashShell
docker attach 容器ID
3.5 启动已停止运行的容器
docker start 容器ID或者容器名
3.6 重启容器
docker restart 容器ID或者容器名
3.7 停止容器
docker stop 容器ID或者容器名
3.8 强制停止容器
docker kill 容器ID或容器名
3.9 删除已停止的容器
#删除一个
docker rm 容器ID
docker rm -f 容器ID #强制删除
#删除多个
docker rm -f $(docker ps -a -q)
或
docker ps -a -q | xargs docker rm
3.10 查看容器日志
docker logs 容器ID
3.11 查看容器内运行的进程
docker top 容器ID
3.12 查看容器内部细节
docker inspect 容器ID
3.13 从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
3.14 导入和导出容器
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
3.15 容器数据卷挂载 运行一个带有容器卷存储功能的容器实例
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录:[OPTION] 镜像名
OPTION:
rw 可读可写(read + write)
ro 容器实例内部被限制,只能读取不能写,仅读(read only)
3.16 容器数据卷继承
docker run -it --privileged=true --volumes-from 父类 --name u2 ubuntu
example:
# 新创建u3容器继承u2容器的数据卷挂载,此时u2就算stop也不影响u3
docker run -it --privileged=true --volumes-from u2 --name u3 ubuntu
3.17 查看容器资源占用情况
docker stats [OPTIONS] [CONTAINER...]
OPTIONS:
--all , -a :显示所有的容器,包括未运行的。
--format :指定返回值的模板文件。
--no-stream :展示当前状态就直接退出了,不再实时更新。
--no-trunc :不截断输出。
example:
docker stats
docker stats mynginx # 容器名
docker stats af7928654200 # 容器ID
//CONTAINER ID 与 NAME: 容器 ID 与名称。
//CPU % 与 MEM %: 容器使用的 CPU 和内存的百分比。
//MEM USAGE / LIMIT: 容器正在使用的总内存,以及允许使用的内存总量。
//NET I/O: 容器通过其网络接口发送和接收的数据量。
//BLOCK I/O: 容器从主机上的块设备读取和写入的数据量。
//PIDs: 容器创建的进程或线程数。
4 docker 网络命令
4.1 查看网络
docker network ls
4.2 创建网络
docker network create xxx网络名字
4.3 查看网络源数据
docker network inspect XXX网络名字
4.4 删除网络
docker network rm XXX网络名字
5.Docker-compose容器 命令
docker-compose -h # 查看帮助
docker-compose up # 启动所有docker-compose服务
docker-compose up -d # 启动所有docker-compose服务并后台运行
docker-compose down # 停止并删除容器、网络、卷、镜像。
docker-compose exec yml里面的服务id # 进入容器实例内部
docker-compose exec docker-compose.yml文件中写的服务id /bin/bash
docker-compose ps # 展示当前docker-compose编排过的运行的所有容器
docker-compose top # 展示当前docker-compose编排过的容器进程
docker-compose logs yml里面的服务id # 查看容器输出日志
docker-compose config # 检查配置
docker-compose config -q # 检查配置,有问题才有输出
docker-compose restart # 重启服务
docker-compose start # 启动服务
docker-compose stop # 停止服务
其他链接
docker 学习-- 01 基础知识文章来源:https://www.toymoban.com/news/detail-662673.html
docker 学习-- 03 环境安装(win10)文章来源地址https://www.toymoban.com/news/detail-662673.html
到了这里,关于docker 学习--02 常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!