Centos7 Docker容器操作_入门试炼03

文章目录

  • 一、容器常用命令
  • 二、查看容器
    • 2.1. 查看正在运行容器
    • 2.2. 查看所有的容器(启动过的历史容器)
    • 2.3. 查看最后一次运行的容器
    • 2.4. 查看停止的容器
  • 三、容器创建和运行
    • 3.1. 交互式容器和守护式容器的区别
    • 3.2. 目录映射
    • 3.3. 交互式容器(不建议使用)
    • 3.4. 守护式容器
    • 3.4. 容器——停止
    • 3.5. 容器——启动

一、容器常用命令

说明 命令
查看正在运行容器 docker ps
查看启动过的历史容器 docker ps –a
查看最后一次运行的容器 docker ps –l
查看停止的容器 docker ps -f status=exited
停止正在运行的容器 docker stop $CONTAINER_NAME/ID
例如:docker stop mycentos2
docker stop 33c17a8f35f3
启动已运行过的容器 docker start $CONTAINER_NAME/ID
例如:docker start mycentos2
docker start 33c17a8f35f3
创建交互式容器(不建议使用) docker run -it --name=容器名称 镜像:镜像版本 /bin/bash
创建守护式容器(推荐使用) docker run -di --name=容器名称 镜像:镜像版本
删除容器 docker rm 容器名称/容器ID
登录容器 docker exec -it 容器名称/容器ID /bin/bash
例如:docker exec -it mycentos2 /bin/bash
docker exec -it 33c17a8f35f3 /bin/bash

二、查看容器

2.1. 查看正在运行容器

docker ps

2.2. 查看所有的容器(启动过的历史容器)

docker ps -a

2.3. 查看最后一次运行的容器

docker ps –l

2.4. 查看停止的容器

docker ps -f status=exited

三、容器创建和运行

概念与联系:
由镜像创建并运行容器,一个镜像可以创建多个容器,镜像相当于类,容器相当于对象。一个类可以创建多个对象。

docker run
  • -i:表示运行容器
  • -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
  • –name :为创建的容器命名。
  • -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
  • -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
  • -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
    原理:创建容器并进入容器,退出容器,服务停止。

3.1. 交互式容器和守护式容器的区别

运行容器方式 说明
运行交互式容器 由镜像创建并运行进入容器,退出命令窗口,容器也随之停止。
运行守护式容器 由镜像创建并后台运行容器,不进入容器,对容器操作需要先进入容器。
  • 运行容器(必须要写的参数 -i):
docker run -i
  • 运行交互式容器:
docker run -it --name=容器名称 镜像:版本 /bin/bash  
  • 运行守护式容器:
docker run -di --name=容器名称 镜像:版本 /bin/bash  

3.2. 目录映射

-v 参数指宿主机上和容器之间的目录映射,在目录挂载场景下,会用到

  • 创建容器 添加-v参数 后边为 宿主机目录:容器目录
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos2 centos:7

释义:
简单来说:目录同步。
将宿主机上的 /usr/local/myhtml目录和容器中的/usr/local/myhtml目录,进行目录映射,以后在myhtml目录增删改查这2个目录都是同步的。
栗子:
也就是需要想在容器中的/usr/local/myhtml下面,添加index.html文件,不用进入容器,直接在宿主机上和容器映射目录 /usr/local/myhtml下面添加index.html文件即可,这两个目录是同步的。

-p参数指的是端口映射:
你mysql容器的端口是3306
但是,外界访问你mysql容器的3306端口是访问不了的,可以将宿主机上的3306/9000端口和mysql容器中的3306端口进行端口映射,访问宿主机上的3306/9000端口就相当于访问mysql容器的3306端口


3.3. 交互式容器(不建议使用)

  • ① 创建一个交互式容器并取名为mycentos
docker run -it --name=mycentos centos:7 /bin/bash

/bin/bash:这个参数只有在与命令行交互的时候,才会用到
在这里插入图片描述
执行命令后,就已经进入容器中,不在宿主机上了
此时在容器中的操作,在宿主机上是看不到的。
当我们在容器中,执行exit
退出容器后,再在宿主机上查看运行的容器,可以看到,刚才运行的容器已经停止了
注:–name=mycentos指的是容器名称 centos:7 镜像名称 执行命令完成后,就已经进入centos7容器了,和宿主机centos7一样,只不过一个是宿主机,另一个是容器而已。

  • ②退出当前容器,使用exit命令

然后用docker ps -a 命令查看发现该容器也随之停止:

3.4. 守护式容器

  • 前提:创建容器,不进行容器,后台启动,只要不关闭容器,容器就一直处于启动状态。

  • ①创建一个守护式容器:

docker run -di --name=mycentos2 centos:7
  • ② 查看容器是否启动:
docker ps
  • ③登录守护式容器方式:
格式:docker exec -it container_name (或者 container_id)  /bin/bash
#建议使用
docker exec -it mycentos2  /bin/bash
#
docker exec -it 33c17a8f35f3  /bin/bash
  • ④退出容器:
exit
  • ⑤查看正在运行的容器
docker ps

exit退出容器,mycentos2容器,还是可以正常处于启动状态。

3.4. 容器——停止

  • 停止已经运行的容器
格式:docker stop $CONTAINER_NAME/ID
#第一种
docker stop mycentos2
#第二种
docker stop 33c17a8f35f3

3.5. 容器——启动

  • 启动已经运行的容器
格式:docker start $CONTAINER_NAME/ID
#第一种
docker start mycentos2
#第二种
docker start 33c17a8f35f3
#启动之后,查看mycentos是否已经运行
docker ps
#查看启动过的容器 前提:先查看那些容器启动过。
docker ps -a 

想学习更多微服务、分布式、中间件、数据库、项目快速构建等系列技术
请访问Gblfy主页:https://blog.csdn.net/weixin_40816738
让我们一起进步!!!

你可能感兴趣的:(Docker)