docker命令
查看镜像命令:
docker images
docker images -a #显示所有镜像
docker images -q #只显示镜像id
docker images -aq #显示所有镜像
搜索镜像:
docker search mysql
拉取镜像:
docker pull mysql(镜像名) #无版本
docker pull mysql:5.7 #有版本
删除镜像:
docker rmi -f 镜像id #删除单个镜像
docker rmi -f $(docker images -aq) #递归删除所有镜像
启动容器交互运行:
docker run -it centos /bin/bash
# crtl + Q + P 退出容器并且后台运行
docker run -d -p 3333:8080 --name tomcat9 tomcat
#后台运行tomcat,容器内部端口8080对应外网端口3333
查看容器
docker ps #查看运行的容器
docker ps -a #查看运行过的容器+当前运行容器
删除容器:
docker rm 容器id
docker rm -f $(docker ps -aq) #递归删除所有容器
启动和停止容器:
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止正在运行的容器
docker kill 容器id #强制当前容器
查看日志:
docker logs -tf --tail 10 容器id #查看十条日志
docker logs -tf 容器id #查看全部日志
查看容器中进程信息:
docker top 容器id
查看容器元数据:
docker inspect 容器id
进入正在运行的容器:
docker exec -it 容器id /bin/bash #进入容器,开启新的终端,可以操作
docker attach 容器id #进入正在运行的终端,不可操作
从容器中拷贝数据到主机:
docker cp 容器id/文件路径 主机的路径
#docker cp 0624be91ebe4:/home/test.java /home
提交镜像:
docker commit -a="作者" -m="说明" 容器id 容器名:版本号
数据卷:
docker run -it -v 容器id 主机目录:容器目录
# docker run -it -v /home/ceshi:/home centos /bin/bash
# mysql同步数据测试:
#docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
docker run -it --name docker02 --volumes-from docker01 centos
#让docker02 和docker01 容器数据同步 --volumes-from:docker02挂载在docker01上实现数据同步