一: 创建容器前提拉取镜像命令 docker create 参数 镜像名 命令[rootlocalhost ~]# docker create -it centos:7 /bin/bashe27173a8adf1f46f5b0e476b80556a82c6a175498ecc777983facdad2b8ba41e[rootlocalhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES[rootlocalhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e27173a8adf1 centos:7/bin/bash8seconds ago Created nice_wiles[rootlocalhost ~]#二: 创建并运行容器命令 docker run 参数 镜像名 命令[rootlocalhost ~]# docker run -it --restartalways centos:7 /bin/bash[rootaa47b6d1f5fe /]# lsanaconda-post.log bin dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var[rootaa47b6d1f5fe /]#三: 断开与容器连接exit退出容器终端停止当前容器ctrl p q退出当前窗口但容器还在后台运行四: 查看容器# 1.0 查看正在运行的容器[rootlocalhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES aa47b6d1f5fe centos:7/bin/bash5minutes ago Up About a minute strange_bassi[rootlocalhost ~]## 2.0 查看所有容器[rootlocalhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES aa47b6d1f5fe centos:7/bin/bash6minutes ago Up About a minute strange_bassi e27173a8adf1 centos:7/bin/bash9minutes ago Created nice_wiles[rootlocalhost ~]## 3.0 查看容器详情信息dockerinspect 容器ID# 4.0 查看容器资源使用[rootlocalhost ~]# docker stats 容器ID五: 启动容器[rootlocalhost ~]# docker start 已创建未启动的容器ID六: 关闭容器关闭容器命令1docker stop 容器id关闭容器命令2docker kill 容器id[rootlocalhost ~]# docker stop aa47b6d1f5feaa47b6d1f5fe七: 删除容器命令docker rm 容器id[rootlocalhost ~]# docker rm aa47b6d1f5fe e27173a8adf1aa47b6d1f5fe e27173a8adf1[rootlocalhost ~]#八: 重启容器前提先停止容器然后再重启容器命令docker restart 容器ID[rootlocalhost ~]# docker run -it centos:7 /bin/bash # 运行容器[root38656479b78d /]# [rootlocalhost ~]#[rootlocalhost ~]# docker ps # 查看正在运行的容器CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38656479b78d centos:7/bin/bash22seconds ago Up21seconds pensive_shamir[rootlocalhost ~]# docker stop 38656479b78d # 停止容器运行38656479b78d[rootlocalhost ~]# docker ps -a # 查看之前运行过的容器CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38656479b78d centos:7/bin/bash51seconds ago Exited(137)5seconds ago pensive_shamir[rootlocalhost ~]# docker restart 38656479b78d # 重启容器38656479b78d[rootlocalhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38656479b78d centos:7/bin/bashAbout a minute ago Up4seconds pensive_shamir[rootlocalhost ~]#九: 附着容器作用docker attach来重新附着到该容器的回话中命令docker attach 容器id[rootlocalhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38656479b78d centos:7/bin/bash9minutes ago Up8minutes pensive_shamir[rootlocalhost ~]# docker attach 38656479b78d[root38656479b78d /]#十: 后台运行命令docker run -d 镜像名 命令[rootlocalhost ~]# docker run -it -d --name mytest centos:7 /bin/bash# 查看容器日志[rootlocalhost ~]#docker logs mytest# 附着容器[rootlocalhost ~]# docker attach mytest十一: 容器更名命令docker rename mytest mytest1# 查询现有容器[rootlocalhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES caf06cfbf787 centos:7/bin/bash2minutes ago Up2minutes mytest# 更名[rootlocalhost ~]# docker rename mytest mytest1# 查看容器[rootlocalhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES caf06cfbf787 centos:7/bin/bash2minutes ago Up2minutes mytest1[rootlocalhost ~]#十二: 端口映射运行容器的时候加上-p这个参数就是端口映射# 运行容器并暴露[rootlocalhost ~]# docker run -it --nametest-port --restartalways -p 20:2020 centos:7 /bin/bash# 查看dockerport test-port#dockerps十三: 容器监控1. logs使用logs命令查看守护式容器2. toptop显示一个运行的容器里面的进程信息3. eventevent实时输出Docker服务器端的事件4. waitwait捕捉容器停止时的退出码5. diffdiff查看容器内发生改变的文件6. cp宿主机和容器之间相互Copy文件面试重点attach和exec的区别docker attach连接到容器PID1 的原始主进程终端共用容器启动时唯一的前台会话。docker exec在容器里新建一个独立的子进程终端和原本的主进程完全隔离。