说明:我们有了镜像才可以创建容器,这里下载一个linux,centos来测试学习
docker pull centos
新建容器并启动:
docker run [可选参数] image
#参数说明
--name="Name" 容器名字tomcat01 tomcat02, 用来区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口-p 8080: 8080
-p ip:主机端口:容器端口
-p主机端口:容器端口 (常用)
-p容器端口
容器端口
-P 随机指定端口
测试启动并进入centos
[root@iz5eix3jskj6wxz ~]# docker run -it centos /bin/bash
[root@55b9eda699b2 /]# ls #查看容器内的centos
bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var
从容器退出到服务器
列出所有运行的容器
当前运行中的容器
docker ps
查看运行过的容器
docker ps -a
最近创建的容器
docker ps -a -n=1
退出容器
exit 容器停止退出
ctrl+p+Q 容器不停止退出
删除容器
docker rm 容器id #此操作无法删除运行中的docker容器,需加-f
docker rm -f ${docker ps -aq} #删除所有容器
docker ps -a -q | xargs docker rm #删除所有容器
容器的启动与停止
docker start 容器ID
docker stop 容器ID
docker restart 容器ID
docker kill 容器ID #无法停止使用此命令
其他常用命令
后台启动容器:
docker run -d 容器名
[root@iz5eix3jskj6wxz ~]# docker run -d centos
#问题docker ps.发现centos 停止了
#常见的坑: docker容器使用后台运行,就必须要有要一个前台进程,docker发现投有应用,就会自动停止.
# nginx, 容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志
docker logs -f -t --tail 容器,没有日志
#自己编写一段she11脚本
[root@iz5eix3jskj6wxz ~]# docker run -d centos /bin/sh -c "while true;do each iz5eix3jskj6wxz;sleep 1;done"
5dc1410927a35080e63d19bf525c49812478e0df82233f62662d782cfc65d1ca
# [root@iz5eix3jskj6wxz /]# docker ps
CONTAINER ID
IMAGE
5dc1410927a3
centos
#显示日志
-tf
#显示日志
--tail number #要显示日志条数
[root@iz5eix3jskj6wxz /]# docker logs -tf --tail 10 5dc1410927a3
未完~
Q.E.D.