1 查看容器
# 查看正在运行的容器
sudo docker container ls # 法一
sudo docker ps # 法二
# 查看所有的容器
sudo docker container ls --all # 法一
sudo docker ps -a # 法二
docker ps [option]命令
option说明:
-a:显示所有的容器,包括未运行的。
-q:静默模式,只显示容器编号。
-f:根据条件过滤显示的内容。
—format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
—no-trunc:不截断输出。
-s:显示总的文件大小。
2 创建容器
sudo docker run [option] 镜像名 [向启动容器中传入的命令]
option参数说明:
- -i 表示以交互模式运行容器。
- -t 表示容器启动后会进入其命令行。
- —name 为创建的容器命名。
- -v 表示目录映射关系,宿主机目录:容器中目录。
- -d 会创建一个守护式容器在后台运行(创建容器后不会自动登录容器)。
- -p 表示端口映射,宿主机端口:容器中端口。
—network=host 表示将主机的网络环境映射到容器中,使容器的网络与主机相同。
(1) 交互式容器
sudo docker run -it --name=ubuntu1 ubuntu:16.04 /bin/bash
(2) 守护式容器
开启守护式容器
sudo docker run -dit --name=ubuntu2 ubuntu:16.04
进入容器内交互环境
sudo docker exec -it 容器名或容器id 进入后执行的第一个命令
sudo docker exec -it ubuntu2 /bin/bash
3 停止和启动容器
# 停止容器
sudo docker container stop 容器名或容器id
# 强制结束容器
sudo docker container kill 容器名或容器id
# 启动容器
sudo docker container start 容器名或容器id
# 同时启动多个容器(container可省略)
sudo docker start 容器名1 容器名2 容器名3 # 法一
sudo docker start $(sudo docker ps -a -q) # 法二
# 同时停止多个容器
sudo docker stop $(sudo docker ps -a -q)
4 删除容器
sudo docker container rm 容器名或容器id # 正在运行的容器无法直接删除
sudo docker container rm -f 容器名或容器id # 强制删除, 可删除正在运行的容器
5 容器制作成镜像
为保证已经配置完成的环境可以重复利用,我们可以将容器制作成镜像。
sudo docker commit 容器名 镜像名
6 docker容器与宿主机互传文件
(1) 容器 -> 宿主机
docker cp 容器ID:容器内路径 宿主机路径
(2) 宿主机 -> 容器
docker cp 宿主机路径 容器ID:容器内路径
7 查看容器日志
sudo docker logs [options] container
options:
--details 显示更多的信息
-f, --follow 跟踪实时日志
--since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
--tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
--until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)