摘要: 原创出处 cnblogs.com/DeepInThought 「DeepInThought」欢迎转载,保留摘要,谢谢!
1、Docker容器信息
# docker version # docker info # docker --help
2、镜像操作
提示:对于镜像的操作可使用镜像名、镜像长ID和短ID。
2.1、镜像查看
# docker images # docker images -a
# docker images -q # docker images -qa
# docker images --digests # docker images --no-trunc
2.2、镜像搜索
# docker search mysql # docker search --filter=stars=600 mysql # docker search --no-trunc mysql # docker search --automated mysql
2.3、镜像下载
# docker pull redis # docker pull -a redis # docker pull bitnami/redis
2.4、镜像删除
# docker rmi redis # docker rmi -f redis # docker rmi -f redis tomcat nginx # docker rmi -f $(docker images -q)
2.5、镜像构建
# cd /docker/dockerfile vim mycentos # docker build -f /docker/dockerfile/mycentos -t mycentos:1.1
3、容器操作
提示:对于容器的操作可使用CONTAINER ID 或 NAMES。
3.1、容器启动
# docker run -i -t --name mycentos # docker run -d mycentos
注意:此时使用"docker ps -a"会发现容器已经退出。这是docker的机制:要使Docker容器后台运行,就必须有一个前台进程。解决方案:将你要运行的程序以前台进程的形式运行。
# docker start redis # docker restart redis
3.2、容器进程
# # docker top redis # for i in `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
3.3、容器日志
# docker logs rabbitmq # docker logs -f -t --tail=20 redis # docker logs --since="2019-05-21" --tail=10 redis
3.4、容器的进入与退出
# docker run -it centos /bin/bash # exit # 快捷键:Ctrl + P + Q # docker attach --sig-proxy=false centos # docker exec -i -t centos /bin/bash # docker exec -i -t centos ls -l /tmp # docker exec -d centos touch cache.txt
3.5、查看容器
# docker ps # docker ps -q # docker ps -a # docker ps -s
# docker ps -l # docker ps -n 3 # docker ps --no-trunc
# docker inspect redis # docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis
3.6、容器的停止与删除
# docker stop redis # docker kill redis # docker rm redis # docker rm -f redis # docker rm -f $(docker ps -a -q) docker ps -a -q | xargs docker rm # docker rm -l db # docker rm -v redis
3.7、生成镜像
# docker commit -a="DeepInThought" -m="my redis" [redis容器ID] myredis:v1.1
3.8、容器与主机间的数据拷贝
# docker cp rabbitmq:/[container_path] [local_path] # docker cp [local_path] rabbitmq:/[container_path]/ # docker cp [local_path] rabbitmq:/[container_path]