服务热线
135-6963-3175
Docker容器常用命令
以下命令使用mysql镜像启动一个容器,参数为以命令行模式进入该容器
docker run -it mysql /bin/bash
当报
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown.
错时,可以尝试用
docker run -it mysql /bin/sh
或者
docker exec -it containerId /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
mysql: mysql 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端,直接输入 exit:
$ exit
查看所有容器命令
docker ps -a
启动一个已停止的容器
$ docker start b750bbbcfd99
以后台方式运行一个容器
$ docker run -itd --name mysql-test mysql /bin/bash
参数:
-d:后台运行
停止一个容器
docker stop b750bbbcfd99
重启一个容器
docker restart b750bbbcfd99
创建一个容器(但不启动它)
docker create [OPTIONS] IMAGE [COMMAND] [ARG...] #例: docker create --name myrunoob nginx:latest
docker run = docker create + docker start 进入容器
使用-d命令会使容器在后台运行,想要进入容器,则可以使用下面命令:
docker attach:此命令会导致容器停止。
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。
docker attach containerId docker exec -it containerId /bin/bash
[root@localhost ~]# docker exec -it 5abf /bin/bash root@5abf309c553b:/# ls bin boot dev docker-entrypoint-initdb.d entrypoint.sh etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@5abf309c553b:/# exit exit
删除容器命令:
docker rm containerId
选项:
-f强制删除一个运行中的
-l删除容器的链接
-v删除容器挂载的数据卷
重命名容器
docker rename 容器名 新容器名
查看日志命令
docker logs containerId
导出容器
docker export 容器id>xxxx.tar
导入容器
将快照文件 mysql.tar 导入到镜像 test/mysql:v1:
cat docker/mysql.tar | docker import - test/mysql:v1
使用远程方式导入
$ docker import http://example.com/exampleimage.tgz example/imagerepo
复制文件:
#从主机复制到容器 sudo docker cp host_path containerID:container_path #从容器复制到主机 sudo docker cp containerID:container_path host_path
获取容器/镜像元数据
docker inspect 镜像名或镜像id
查看容器中正在运行的进程
docker top 容器id
来实现查看container中正在运行的进程。