Docker 容器操作
可以把容器看成简易版的 Linux 环境(包括 root 用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。
1 新建容器
docker create [options] 镜像名字或者 ID [COMMAND] [ARG...] docker create -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root mysql docker create -p 3306:3306 --name mysql_new -e MYSQL_ROOT_PASSWORD=root \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ mysql |
1.1 options 常见参数说明
--name:给容器起一个新名字。为容器指定一个名称 -i:以交互模式运行容器,通常与-t 连用 -t:为容器重新分配一个伪终端,通常与-i 连用 -P:随机端口映射 -p:指定端口映射,hostPost:containerPort -e:配置信息 -d:后台执行 -v:主机和容器的目录映射关系,":"前为主机目录,之后为容器目录 |
2 新建并启动容器
docker run [options] 镜像名字或者 ID [COMMAND] [ARG...] docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql docker run -p 3306:3306 --name mysql_new -e MYSQL_ROOT_PASSWORD=root \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -d mysql |
3 列出启动容器
列出正在运行的容器: docker container ls
查看 docker 容器进程信息: docker ps [options]
docker ps
3.1 options 参数说明
-l:显示最近创建的容器
-n 数字:显示最近 n 个创建的容器
-a:列出所有的运行过的容器
-q:列出容器 id
4 与运行中的容器交互
docker exec [options] 容器 ID [command]
docker exec -it mysql /bin/bash
4.1 options 参数说明
-i:以交互模式运行容器,通常与-t 连用
-t:为容器重新分配一个伪终端,通常与-i 连用
5 停止容器
docker stop 容器 ID
docker stop mysql
6 启动容器
docker start 容器 ID
docker start mysql
7 强制停止容器
不推荐使用,容易造成容器服务不正常关闭,影响后续使用。
docker kill 容器 ID 或名称
docker kill mysql
8 暂停容器
docker pause 容器 ID 或名称
docker pause mysql
9 恢复容器
docker unpause 容器 ID 或名称
docker unpause mysql
10 删除容器
要删除的容器,必须是关闭状态的。
docker rm 容器 ID 或名称
docker rm mysql
11 查看容器日志
docker logs -f -t --tail 行数 容器 ID
docker logs -f -t --tail 5 mysql
-f 参数代表长期监控日志数据
-t 额外增加时间戳
--tail 行数 显示末尾多少行日志
12 查看容器中运行的进程
docker top 容器 ID 或名称
docker top mysql
13 查看容器内部详情
docker inspect 容器 ID 或名称
docker inspect mysql
14 复制容器数据到宿主机
docker cp 容器 ID 或名称:容器内路径 宿主机路径
复制 MySQL 配置到宿主机: docker cp mysql:/etc/mysql ~/tmp/conf