运行容器

这里我使用 ubuntu 镜像,创建一个名为 lxfubuntu 的容器,并运行进入容器

1
2
3
# docker run -it --name [容器名] [镜像名] /bin/bash

docker run -it --name lxfubuntu ubuntu /bin/bash

命令参数详解:

  • --name : 定义容器名称,如果不使用,则会随机产生一个名字
  • -i : 让容器的标准输入保持打开
  • -t : 让 docker 分配一个伪终端,并绑定到窗口的标准输入上
  • -d : 以守护进程的方式运行容器,不占用终端
  • /bin/bash : 执行一个命令

如图,执行后即可进入容器中

如果想创建并以守护进程的方式运行容器,可以使用 -d

1
docker run -dit --name lxfubuntu1 ubuntu /bin/bash

1
2
3
# docker start [container_id]

docker start c97abc3f151a

进入容器

如果我们想进入上述提及的以守护进程方式运行的容器中,可以使用 docker exec

1
docker exec -it lxfubuntu1 /bin/bash


如果在此时退出该守护进程的容器时,该容器依旧在后台运行

退出容器

两种方式

  • 方法一: 终端输入 exit 后回车
  • 方法二: Ctrl + D

如果容器是以守护进程的方式运行,在进入容器后退出,不停止容器的运行,即依旧在后台运行,否则将在容器退出时顺带停止容器

停止容器

1
2
3
4
5
# docker stop [container_id|container_name]

docker stop lxfubuntu1
#
docker stop c97abc3f151a

启动容器

1
2
3
4
5
# docker start [container_id|container_name]

docker start lxfubuntu1
#
docker start c97abc3f151a

重启容器

1
2
3
4
5
# docker restart [container_id|container_name]

docker restart lxfubuntu1
#
docker restart c97abc3f151a

查看容器

查看正在运行的容器

1
2
3
docker container ls
#
docker ps

查看所有的容器,包括已经停止的容器

1
2
3
4
5
docker container ls -a
docker container ls --all
#
docker ps -a
docker ps --all

如果只是想查看容器的ID,可以使用参数 -q

1
docker ps -aq

删除容器

1
2
3
4
5
# docker [container] rm [container_id|container_name]

docker container rm lxfubuntu
#
docker rm lxfubuntu1

如果删除一个正在运行的容器,需要加 -f

结合上述查看容器中 -q 的功能,可以实现批量删除容器的功能

1
2
# docker ps -aq 获取所有的容器id
docker rm -f $(docker ps -aq)

查看容器详情

1
2
3
# docker inspect [container_id|container_name]

docker inspect lxfubuntu1

查看容器状态

1
2
3
# docker container stats [container_id|container_name]

docker container stats lxfubuntu1

打包容器为新的镜像资源

容器在安装了各种各样的服务后,将该容器打包为镜像资源,接着将该镜像资源进行打包,最后再发给其它人使用

lxfubuntu1 这个容器打包成名为 my_image 的镜像

1
2
# docker commit 容器名 镜像资源名
docker commit lxfubuntu1 my_image