docker
常用命名
命令 | 作用 | 补充 |
---|---|---|
docker search mysql | 搜索镜像 | |
docker pull mysql5.7 | 拉取镜像 | |
docker ps | 查看启动容器 | |
docker exec -it mysql /bin/bash | 进入容器 | |
exit | 退出 | |
docker cp file target | file 复制到 target | 容器内外文件复制 |
docker start name/id | 启动 | stop停止 restart 重启 |
docker rmi name/id | 删除镜像 | |
docker rm name/id | 删除镜像 | |
–link name:name2 | 容器内链接 |
基本命令镜像
- name : 镜像名
命令 | 作用 | 案例 |
---|---|---|
pull | 拉取 | docker pull name |
images | 查看本地库(本地拥有的 镜像) | docker images |
run ubuntu:name | 容器内运行容器 | docker run ubuntu:容器名 /bin/echo “name” |
-i -t | -i 交互端口 -t 容器内部端口 | |
ps | 查看运行的实例 | docker ps docker ps -a 查看所有的 |
-d | 让容器在后台运行 | docker run -d … |
stop | 关闭容器 | docker stop 容器ID |
search | 搜藏仓库里的镜像 | docker search |
rmi | 删除 镜像 | docker rmi name |
-e | 指定容器内环境变量 | |
start | 容器启动 | docker start 容器id |
stop | 停止 | docker stop 容器id |
-p | 指定端口映射 主机:容器端口 |
docker run ubuntu:<u>容器名</u> /bin/echo "<u>name</u>"
#docker 以ubuntu(系统储存库实例) 镜像创建一个容器,后在容器里执行 /bin/echo "name" 然后输出
ps 项说明
项 | 说明 |
---|---|
container id | 容器id |
image | 使用镜像 |
command | 启动容器时运行命令 |
created | 容器创建时间 |
status | 容器状态 created: 已创建 restarting: 重启中 running: 运行中 removing: 迁移中 paused: 暂停 exited: 停止 dead: 死亡 |
ports | 容器的端口信息和使用的链接类型(TCP\UDP) |
names | 自动分配的容器名 |
images 项说明
项 | 说明 | |
---|---|---|
repository | 镜像的仓库源 | |
tag | 镜像标签,同一个仓库源可以有多个TAG,代表这个仓库的源的不同版本 | |
image id | 镜像id | |
CREATED | 镜像创建时间 | |
size | 镜像大小 |
search 项说明
项 | 说明 |
---|---|
name | 镜像仓库源 名称 |
description | 镜像描述 |
official | 是否docker 官方发布 |
automated | 自动构建 |
镜像的导入导出
导出
[root@pdai ~]# docker images
dockREPOSITORY TAG IMAGE ID CREATED SIZE
pdai/ubuntu v2.0.2 57544a04cd1a 3 months ago 91.5MB
[root@pdai ~]# docker save > pdai-ubuntu-v2.0.2.tar 57544a04cd1a
[root@pdai ~]# ll | grep pdai-u
-rw-rw-r-- 1 root root 93898240 Jun 4 09:06 pdai-ubuntu-v2.0.2.tar
[root@pdai ~]#
导入
docker load < pdai-ubuntu-v2.0.2.tar
容器
进入后台容器
命令 | 作用 | 例子 |
---|---|---|
attach | 进入容器直接关闭 | 不推荐 docker attach 容器id |
exec | 进入容器不会停止容器 | docker exec 容器id |
# 进入容器
docker exec -it 容器名 bash
#/bin/bash
# 退出容器
exit
命令 | 说明 | 补充 |
---|---|---|
docker start ID/NAME | 启动 | sotp 停止/restart 重启 |
-d | 后台模式运行 | |
docker export ID/NAEM > 文件名 | 容器导出到当前目录 | |
docker import 容器名 路径 | 容器导入 | docker images 查看结果 |
-f | 强制停止 | docker rm -f ID |
docker container prune | 清楚停止的容器 | |
–link name:name2 | 容器之间的互联 |
–link name 时需要链接的容器名称 name1 时这个链接的别名
docker 在两个容器之间建立了一个安全隧道,不用映射它们的端口到宿主主机上,
docker run -p 9200:9200 -d --name elasticsearch elasticsearch docker run -p 9800:9800 -d --link elasticsearch:demo containerize/elastichd
日志
命令 | 说明 | 补充 |
---|---|---|
docker logs -f -t --tail 10 NAEM | 查看name 容器后10 行日志 | |
docker logs -f -t --since=“2022-2-22” --tail=100 NAME | 查看 2022-2-22 最后100行 | |
docker logs --since 30m NAME | 查看最近30分钟日志 | |
docker -t --since=“2021-2-22T12:22:33” --until “2022-2-22T12:22:33” NAEM | 查看指定时间范围日志 | |
docker logs -f -t --since=“2022” NAME | grep erroe >> logs_error.txt | 将错误日志写入日志文件 |
网络
命令 | 说明 | 补充 |
---|---|---|
docker network ls | 查看所有网络 | |
docker nerwork create NAEM | 创建一个网络分组 | 同一个网络中内部时通的 –network NAME 启动容器时设置网络 |
数据卷
数据卷,把容器,内部目录只想,容器外,方便操作
docker run -d -p --name web -v /usr/test:/root/docker mysql
把住机的 /usr/test 加载到 容器的 /root/docker 中 (docker 会自动创建目录)