1.镜像
#查看镜像
docker image
#搜索镜像
docker search --filter=star=5000 mysql
#拉取一个镜像
docker pull image
docker pull image:tag
#运行一个镜像
docker run tomcat
docker run tomcat:tag
#删除一个镜像、多个镜像
docker rmi -f 镜像名/镜像ID
docker rmi -f 镜像1/镜像ID1 镜像2/镜像ID2 镜像3/镜像ID3
######### 慎用 #########
### 删除全部镜像
docker rmi -f {docker images -aq}
###强制删除镜像
docker imges rm 镜像名/镜像ID
######### 慎用 #########
#保存镜像
docker save 镜像名/镜像ID -o ${镜像路径}/${新镜像名称}
docker save tomcat -o /opt/images/tomcat.tar
#加载文件,生成镜像
docker load -i /opt/images/tomcat.tar
2.容器
#查看正在运行的容器 docker ps #查看所有容器 docker ps -a # 显示command全部信息 docker ps -a --no-trunc #启动容器 交互式 docker run -it -d --name mysql100 mysql:1.0.0 /bin/bash #--restart=always docker服务启动就会自动拉起的容器 docker run -it -d --name mysql100 --restart=always mysql:1.0.0 /bin/bash #卷挂载 可挂载多次 -v 宿主机文件存储位置:容器内文件位置 -v 宿主机文件存储位置:容器内文件位置 docker run -it -d --name mysql100 --restart=always -v /var/lib/mysql/data/:/data -v /var/lib/mysql/conf/:/usr/local/etc/mysql/mysql.conf mysql:1.0.0 /bin/bash ##密码 --requirepass "password" #已启动容器修改为随docker启动自动拉起 docker update --restart=always 容器Id 或者 容器名 docker container update --restart=always 容器Id 或者 容器名 #停止容器 docker stop 容器名/容器ID #删除容器 单个/多个 docker rm -f 容器名/容器ID docker rm -f 容器名1/容器ID1 容器名2/容器ID2 容器名3/容器ID3 #端口映射 -p 外部:内部 -P 随机指定端口(49000~49900)映射 docker run -it -d mysql100 -p 8080:80 mysql:1.0.0 /bin/bash #进入容器 docker exec -it 容器名/容器ID /bin/bash docker exec -it mysql100 /bin/bash #退出 #优雅退出 无论如何启动,docker都会继续运行 Ctrl + p + q #直接退出,未添加 -d 参数的容器会立即停止 exit #重启容器 docker restart 容器名/容器ID #启动容器 docker start 容器ID/容器名 #kill 容器 docker kill 容器ID/容器名 #容器文件拷贝 —无论容器是否开启 都可以进行拷贝 docker cp 容器ID/名称:文件路径 要拷贝到外部的路径 | docker cp 要拷贝到外部的路径 容器ID/名称:文件路径 #从容器内 拷出 docker cp 容器ID/名称: 容器内路径 容器外路径 #从外部 拷贝文件到容器内 docker cp 容器外路径 容器ID/名称: 容器内路径 #查看容器日志 --tail 查看多少行,默认全部 all docker logs -f --tail=(all/N) 容器ID



