contenido
docker run crea un nuevo contenedor y lo inicia:
Acciones para iniciar y detener contenedores:
Los siguientes comandos son los comandos básicos de contenedor que debemos saber con los ojos cerrados al aprender docker:
Nota: Necesitamos tener una imagen para crear un contenedor, aquí descargamos una imagen de centos para probar y aprender.
docker pull centos #不写标签默认下载最新版镜像
docker run crea un nuevo contenedor y lo inicia:
docker run [可选参数] 镜像名或ID
#参数说明
--name="Name" 容器名字 tomcat01 tomcat02,用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p 主机端口:容器端口 (常用)
-p 容器端口
-p ip:主机端口:容器端口
容器端口
-P 随机指定端口 大写的P是随机指定端口,小写的p是手动配置端口
#测试,启动并进入容器:
[root@localhost ~]# docker run -it centos /bin/bash #以交互式的运行方式启动容器
[root@a2661bc2e2da /]#
启动成功后,主机名会变成镜像ID
[root@a2661bc2e2da /]# ls
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
#推出容器命令:exit
[root@a2661bc2e2da /]# exit
exit
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]#
salir del contenedor
exit # detener y salir del contenedor
Utilice la tecla de método abreviado Ctrl+p+q #No se detenga y salga del contenedor
#停止并退出容器
[root@a2661bc2e2da /]# exit
exit
#退出容器,但不停止容器,容器依旧在后台运行
[root@localhost ~]# docker run -it centos /bin/bash
[root@dd5995bd32c8 /]# [root@localhost ~]# #使用快捷键Ctrl+p+q
[root@localhost ~]#
El directorio dentro del contenedor y el directorio fuera del contenedor están aislados entre sí y no se afectan entre sí.
contenedor de vista docker ps
parámetro:
Sin argumentos # lista de contenedores actualmente en ejecución
-a #Enumerar los contenedores que se están ejecutando actualmente + mostrar los contenedores que se han ejecutado en el historial, lo que equivale a enumerar todos los contenedores
-n=? #Mostrar contenedores creados recientemente (? significa que desea ver los contenedores creados recientemente, solo complete los números)
-q #Solo mostrar el número de contenedor Se puede usar en combinación con -a, -aq para ver el número de todos los contenedores, al igual que el uso del comando de imagen
[root@localhost ~]# docker ps #查看正在运行的容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost ~]# docker ps -a #查看所有容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2661bc2e2da centos "/bin/bash" 9 minutes ago Exited (0) 4 minutes ago boring_chatelet
654f4f39c05e feb5d9fea6a5 "/hello" 3 days ago Exited (0) 3 days ago compassionate_liskov
[root@localhost ~]# docker ps -n=1 #查看最近创建的一个容器
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a2661bc2e2da centos "/bin/bash" 12 minutes ago Exited (0) 7 minutes ago boring_chatelet
[root@localhost ~]# docker ps -aq #查看所有容器的ID编号
a2661bc2e2da
654f4f39c05e
eliminar contenedor
#删除单个容器:
docker rm -f 容器名或ID
#删除所有容器
docker rm -f $(docker ps -aq) #将所有的容器id传递给删除命令,递归删除
#第二种删除全部容器的命令:
docker ps -a -q|xargs docker rm
$() 传递参数给该命令
#测试:
[root@localhost ~]# docker rm -f $(docker ps -aq)
dd5995bd32c8 #删除容器会显示出被删除的容器ID
a2661bc2e2da
654f4f39c05e
[root@localhost ~]#
Acciones para iniciar y detener contenedores:
#使用这些命令的基础是需要创建了镜像,没有镜像不能直接start启动
docker start 容器ID #启动一个停止的容器
docker restart 容器ID #重启一个容器
docker stop 容器ID #停止一个容器
docker kill 容器ID #暴力停止容器,直接杀死这个容器,强制停止容器
若docker stop报错了 则可以使用docker kill 强制停止容器
根据之前的 $() 符号,可以衍生到这些命令
#启动所有容器
[root@localhost ~]# docker start $(docker ps -aq)
f8f5f28eabee
27833ac6fc62
7f497e338757
#停止所有容器
[root@localhost ~]# docker stop $(docker ps -aq)
f8f5f28eabee
27833ac6fc62
7f497e338757
也可以重启所有容器等等操作
$()符号 很常用,很方便
en el contenedor:
La premisa de entrar al contenedor es poner en marcha el contenedor
#进入容器命令:
docker attach 容器名;ID
#启动一个已经创建好的容器
[root@localhost ~]# docker start f8f5f28eabee
f8f5f28eabee
#进入这个启动的容器
[root@localhost ~]# docker attach f8f5f28eabee
[root@f8f5f28eabee /]#