//利用现有的容器创建一个新的容器,但没有启动
[root@localhost ~]# docker create -it centos
fa89451131446293d3ca3e8c6d59fc2fa0d38d7dc455f5a2ecd053c5d3c138f8
/* docker run == 先create 再 start */
//利用文件导入的镜像不可以被新创建,但是可以被run起来
//停止容器
[root@localhost ~]# docker stop container_id
/* + d选项 进入容器时 还是在原来的shell里,但容器已经被启动了
当要执行一些命令的时候,不想让它在前台运行,那就可以使用这个选项
例子:
docker run -d centos bash -c "while :; do echo "123";sleep 1;done"
*/
[root@localhost ~]# docker run -itd centos_with_net /bin/bash
ab3993ac742a53ec3f6c9c86641d3ce91cdb4c4e9653fd3bd63055f4c7ba7b39
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab3993ac742a centos_with_net "/bin/bash" 8 seconds ago Up 4 seconds jolly_davinci
64b1a3401832 centos "/bin/bash" 3 hours ago Up 3 hours prickly_cray
[root@localhost ~]#
//可以获取容器的运行历史信息
[root@localhost ~]# docker logs container_id
/*
进入一个后台运行的容器,然后再把它停止,则之前运行的容器可以停止了
弊端就是 -- 如果你不想要停止此容器,则这个选项就不好用
*/
[root@localhost ~]# docker attach ab3
[root@ab3993ac742a /]# exit
exit
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
64b1a3401832 centos "/bin/bash" 3 hours ago Up 3 hours prickly_cray
/* 为了防止退出后,就关闭了容器 ,
使用 docker exec -it container_id 就可以随时进入和退出容器
*/
//给容器自定义名字,--name + 自定义的名字
[root@localhost ~]# docker run --name web -itd centos bash
//让容器退出后直接删除,执行完则会退出,不能和-d一起使用, --rm
[root@localhost ~]# docker run --rm -it centos bash -c "sleep 30"
/*
删除镜像命令的区别:
docker rmi -- 是从 docker images 查到的内容
docker rm -- 是从docker ps 里查到的
如果是正在运行的容器 ,则加上 -f
*/
//导出容器, 方便迁移到其他机器
[root@localhost ~]# docker export container_id > file.tar