说明:我们有了镜像才可以创建容器,这里下载一个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

从容器退出到服务器
image.png

列出所有运行的容器

当前运行中的容器

docker ps

查看运行过的容器

docker ps -a

最近创建的容器

docker ps -a -n=1

退出容器

exit 		容器停止退出
ctrl+p+Q 	容器不停止退出

image.png

删除容器

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.


如人饮水、冷暖自知