Docker 命令

📖 Docker 命令文档

0%

Linux 安装 Docker | Sunny was born (owq.world)

源配置

{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn"
]
}

帮助命令

docker version		# 版本信息
docker info # 系统信息
docker <order> --help # 帮助命令

# 查看容器最后10条日志
docker logs -f -t --tail 10 <container>

排错命令

# 查看 容器 日志
docker logs <container>

# 查看 容器 挂载端口映射等信息
docker inspect <container>

# 查看 容器 端口映射
docker port <container>

镜像命令

docker images			# 查看镜像
docker images -aq # 只显示镜像ID
docker search <image> # 搜索镜像
docker pull <image> # 下载镜像
docker rmi -f <image> # 删除镜像

# 删除全部镜像
docker rmi -f $(docker images -aq)

# commit 镜像
docker commit -m='描述信息' -a='作者' 容器id 目标镜像名

# 镜像重命名
docker tag local-image:tagname new-repo:tagname

# 推送到Hub
docker push new-repo:tagname

容器命令

# 运行容器
docker run [param] <image>

# run参数说明
--name="Name" # 容器名字 用来区分
-d # 后台方式运行
-it # 使用交互方式运行
-p # 指定容器端口 -p 8080:8080
-p # ip:主机端口:容器端口
-p # 主机端口:容器端口
-p # 容器端口
-P # 大写P 随机端口

dockee ps # 查看正在运行容器
docker ps -a # 查看全部容器
docker ps -a --no-trunc # 显示所以启动参数
docker rm <containerID> # 删除容器

# 查看容器详细信息
docker inspect <container>

# 查看容器占用空间
docker system df -v

# 删除全部容器
docker rm -f $(docker images -aq)

docker start <container> # 启动容器
docker restart <container> # 重启容器
docker stop <container> # 停止容器
docker kill <container> # 强制停止容器

docker exec <container> # 开启新的终端
docker attach <container> # 进入当前运行终端

# 交互模式进入正在运行容器
docker exec -it <container> /bin/bash

# 从容器内拷贝文件到主机
docker cp <container>:容器路径 主机路径
# 从主机内拷贝文件到容器
docker cp 主机路径 <container>:容器路径

# 更新容器配置
docker update
# 设置容器自启动
docker update –-restart=always <container_id_or_name>
# 取消自动启动
docker update --restart=on <container_id_or_name>

退出命令

# 停止并退出
exit
# 退出不停止(快捷键)
Ctrl + P + Q

挂载命令

# 使用 -v 挂载
docker run -it -v <主机目录>:<容器目录>

# 指定路径挂载
docker run -it -v /home/test:/home centos /bin/bash

# 匿名挂载 -v 容器内路径
docker run -d -P --name nginx01 -v /ect/nginx nginx

# 查看所有 volume 的情况
docker volume ls

# 具名挂载
docker run -d -P --name nginx02 -v v-nginx:/etc/nginx nginx

# 通过 -v 容器路径 ro rw 改变读写权限
ro readonly # 只读
rw readwrite # 可读可写

# 只读权限设置
dockers run -d -P --name nginx02 -v nginx:/etc/nginx:ro

网络命令

docker network ls		# 查看网络列表
docker network inspect <name> # 查看网络详情

# --net 指定网卡(docker默认是bridge)
docker run -d -P --net bridge tomcat
# 自定义网络配置
--driver bridge # 网络模式
--subnet 192.168.0.0/16 # 子网
--gateway 192.168.0.1 # 网关

# 创建虚拟网卡
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 net

# 容器连接到网卡 打通容器与容器间网络
docker network connect <net> <ctn> # 建立桥接
docker network disconnect <net> <ctn> # 断开桥接

# 将容器连接到网络
docker network connect <net> <ctn>

commit 镜像

# 命令和git类似类似, 把自己修改的东西形成一个层 封装成一个镜像
docker commit -m='描述信息' -a='作者' 容器id 目标镜像名

迁移操作

镜像

# 压缩镜像
docker save -o image-name.tar image-name

# 加载镜像
docker load image-name.tar

容器

# 导出容器到tar文件
docker export container-name container-name.tar

# 加载容器文件创建镜像文件
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

DockerFile 命令

# 生成镜像
docker build -f dockerfile文件 -t 镜像名:[tag] .

# 查看初始化运行记录
docker history 镜像id

DockerFile 指令

FROM		# 基础镜像 一切从这里开始构建
MAINTAINER # 镜像是谁写的 name+mail
RUN # 镜像构建时候运行的命令
ADD # 添加文件 url或路径
WORKDIT # 镜像工作目录
VOLUME # 挂载的目录
EXPOST # 保留端口配置
CMD # 指定这个容器启动时候运行的命令, 只有最后一个会生效, 可被替代
ENTRTPOINT # 指定这个容器启动时候要运行的命令, 可以追加命令
ONBUILD # 被继承 DockerFile 时候运行, 触发命令
COPY # 类似ADD, 将文件拷贝到镜像
ENV # 构建时候设置环境变量

docker-compose 命令

docker-compose up                  # 启动所有容器
docker-compose up -d # 后台启动并运行所有容器
docker-compose up --no-recreate -d # 不重新创建已经停止的容器
docker-compose up -d test2 # 只启动test2这个容器
docker-compose stop # 停止容器
docker-compose start # 启动容器
docker-compose down # 停止并销毁容器

疑难杂症

db容器无法连接解决方法
错误信息: Access denied for user 'root'@'172.18.0.5' (using password: YES)

docker-compose down --volumes
docker-compose up -d --build
------------ 已触及底线了 感谢您的阅读 ------------
  • 本文作者: OWQ
  • 本文链接: https://www.owq.world/docker/
  • 版权声明: 本站所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处( ̄︶ ̄)↗