在完成docker的安装和镜像源的配置之后,进入到docker的一些基本操作的命令
拉取镜像源
在使用docker使用容器之前,需要先拉取对应的镜像
docker pull <镜像名>:<镜像的版本号>(默认为最先的镜像)>
运行docker镜像
一般启动方式
-
运行命令
在创建docker容器的时候,指定一个新的终端docker run -it <镜像名 or 镜像id >
- 参数说明:
-t
让容器的标准输入保持打开的状态 ;-t
选项让docker分配一个伪终端,并绑定到容器的标准输入 -
容器的运行状态:
- created:已经被创建 (使用 docker ps -a 命令可以列出)但是还没有被启动 (使用 docker ps 命令还无法列出)
- running:运行中
- paused:容器的进程被暂停了
- restarting:容器的进程正在重启过程中
- exited:上图中的 stopped 状态,表示容器之前运行过但是现在处于停止状态(要区别于 created 状态,它是指一个新创出的尚未运行过的容器)。可以通过 start 命令使其重新进入 running 状态
- destroyed:容器被删除了,再也不存在了
-
使用 ctrl + q 从容器中返回到宿主机上
-
运行完这条命令之后就会进入到这个docker里面
docker exec -it 219eba31a1ac /bin/bash (重现进入到这个容器中,并给这个容器绑定一个终端,这个终端的启动方式为/bin/bash),在这种情况下输入exit的时候,退出的是绑定的/bin/bash的终端,
在以上这种状态下由于已经从绑定的终端退出了,导致当前容器中没有正在运行的任务就会导致当前容器直接处于退出状态,想要在退出容器中,容器仍然运行,可以将其设置为守护进程。
以守护进行的方式来创建
docker run -d <镜像名> /bin/bash -c "while true; do echo hello world"
另一种方式,以守护进程的方式绑定一个终端
docker run -d -it <镜像名>
运行docker时的附加选项
在run的时候常用的命令选项
-
add-host 完成从server到ip的映射,为ip地址起一个别名
run docker --add-host xxx
或者
docker run --name xxx
查看镜像状态
-
查看镜像
-
查看当前系统拉取的全部镜像
docker images
-
查看当前系统下所有启动(
Up
状态)的容器docker container ls #或者 docker ps
-
查看当前系统下的所有容器
docker container ls -a # 或者 docker ps -a
-
停止正在运行的镜像
-
终止某个容器
docker container stop (id or name)
或者在进入容器内部的情况下,通过
exit
命令或Ctrl+d
来退出终端,来停止容器。 -
停止正在运行的容器
docker rm <docker-id> # 或者 docker stop <docker-id>
-
删除当前环境下运行的所有没有处于运行状态的docker容器
docker rm $(docker ps -qa)
-
进入容器
docker attach (id or name ) # 或者 docker exec (id or name)
$docker exec (id or name)
$docker attach
从这个 stdin 中 exit,会导致容器的停止.
$docker exec
从这个 stdin 中 exit,不会导致容器的停止.
推荐使用$docker exec
删除容器:
$docker container rm (id or name)
清理所有处于终止状态的容器$ docker container prune
运行状态说明:
如果在创建docker的时候不指定任务,那么这个docker容器会自动的退出,
复制文件
docker cp命令把文件复制到容器中去
docker cp <filename> <正在运行的容器id>:<容器路径>