启动
1. docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
1 2 3 4 5 6 7
| # 常用 OPTIONS -i: 以交互模式运行容器,通常与 -t 同时使用; -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用; -d: 后台运行容器,并返回容器ID;
# eg: docker run -it ubuntu-git /bin/bash
|
2. docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
1 2 3 4 5 6 7 8
| # 常用 OPTIONS -d : 分离模式: 在后台运行 -i : 即使没有附加也保持STDIN 打开 -t : 分配一个伪终端
# 首先需要启动一个容器,之后才能执行 exec docker start 77a1 docker exec -it magical_jepsen /bin/bash
|
3. run
与exec
区别
docker run
:根据镜像创建一个容器并运行一个命令,操作的对象是 镜像
docker exec
:必须在运行的容器中执行命令,操作的对象是 容器
删除
1. 删除镜像
删除镜像前需要先删除其所在的容器
1 2 3 4 5 6 7 8 9 10
| # 查看所有运行中的容器 docker ps -a # 删除容器 docker rm 容器id
# 查看所有镜像 docker images docker image ls # 删除镜像 docker rmi 镜像id
|
日志
1. 格式
1 2 3 4 5 6 7 8
| $ docker logs [OPTIONS] CONTAINER Options: --details 显示更多的信息 -f, --follow 跟踪实时日志 --since [STRING] 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟) --tail [STRING] 从日志末尾显示多少行日志, 默认是all -t, --timestamps 显示时间戳 --until [STRING] 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
|
2. 例子
1 2 3 4 5 6 7 8
| # 查看最近30分钟的日志: $ docker logs --since 30m [CONTAINER_ID]
# 查看指定时间后的日志,只显示最后100行: $ docker logs -f -t --since="2020-08-19" --tail=100 [CONTAINER_ID]
# 查看某时间段日志: $ docker logs -t --since="2020-08-19T13:23:37" --until "2020-08-19T12:23:37" [CONTAINER_ID]
|
保存对容器修改
1. 启动一个容器,获取容器id ,如下,容器id为 bf9685577d9c
1 2
| docker exec -it my-nginx /bin/bash [root@bf9685577d9c:/#]
|
2. 修改完后,退出exit
容器,并把容器打包成镜像
1 2
| # 后面自己起的容器名,用于辨识 docker commit bf9685577d9c ubuntu-git
|
3. 启动已保存的镜像
1 2 3 4 5
| # 查看镜像 docker images | grep ubuntu-git
# 查看镜像的详细信息: docker inspect ubuntu-git
|
配置国内镜像加速
1. 登录阿里云,并在左边栏选择“镜像加速”
2. 在docker desktop
的设置中添加加速站点
1 2 3
| { "registry-mirrors": ["https://0bxi21y8.mirror.aliyuncs.com"] }
|
查看端口绑定
1 2 3 4 5
| # 找到 container name $ docker ps
# 产看端口绑定 $ docker port 容器名
|
拷贝文件到容器
docker cp
用于容器与主机之间的数据拷贝
1 2 3 4 5
| # eg # 将宿主机器中的 /opt/example/test.txt 拷贝到容器ID为xxxxxxxxx的容器里的 /root/example/ 里 $ docker cp /opt/example/test.txt xxxxxxxxxx:/root/example/ # 将容器ID为xxxxxxxx里 /root/example/test.txt 文件拷贝到宿主机器的 /opt/example 里 $ docker cp xxxxxxxxxx:/root/example/test.txt /opt/example
|
镜像重命名
1
| $ docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)
|
Docker 命令大全
docker-command-manual