查找docker镜像
docker search [需要的镜像]
下载镜像
docker pull 镜像名称
删除镜像
docker rmi 镜像ID
启动docker 容器
docker run [镜像] ,如果没有下载镜像,会先下载。要想运行指定版本的docker docker run -d redis:5.0.9 5.0.9是版本
docker run -d --name redisHostPort -p 6379:6379 redis:latest
解释 -d是显示运行 --name是给docker取名字, -p是指定端口,第一个端口是本机端口:容器端口 最后是镜像名称
动态分配端口
docker run -d --name redisHostPort1 -p 6379 redis:latest 这样物理机的端口随机分配端口映射到docker的6379端口(大写-P也可以)
指定固定IP地址的端口
docker run -d --name redisHostPort1 -p 127.0.0.1:6379:6379 redis:latest 这样这个给容器就会监听127.0.0.1 这个Ip地址
docker在后台运行
docker run -d redis
docker容器
docker run -it --network host redis --it可以进入docker容器内部,--network host就可以使用物理机网络 参数 i是标准的输入输出,t是伪终端,-it就进入容器中。
给容器挂载持久化存储(删除容器数据不会丢失)
docker run -d --name redismapped -v ./data:/data redis
解释 -v参数第一个地址是物理机的地址,冒号时候是redis容器的存储数据的地址,如何知道容器存储数据的位置,可以去镜像网站查看说明。
要是挂载目录运行不起来可以删除挂载目录下的配置文件。
查看docker运行的容器
docker ps docker ps -al 查看所有容器,
查看docker镜像
docker images
停止docker
docker stop ID
删除docker容器
前提是容器必须停止, docker rm ID
查看容器详情
docker inspect ID
查看docker 日志
docker logs ID docker logs -f ID 跟踪日志
构建docker镜像
docker build -t 镜像名称:版本号,前提是有Dockerfile文件的
重新加载配置文件
systemctl daemon-reload
重启docker服务
systemctl restart docker
查看docker运行
systemctl status docker
启动docker
systemctl start docker
停止docker运行
systemctl stop docker
退出的docker重新启动
docker start 容器ID
退出docker
exit 退出容器容器会停止
docker exec 退出终端,容器不停止
进入运行的容器
docker exec -it ID /bin/bash
把宿主机文件拷贝到docker中
例如把aaa.txt 拷贝到bbb docker容器中,前提是bbb docker 容器已经运行了
docker cp ./aaaxtxt bbb:/user/local
解释:./aaa.txt是文件的路径和文件名, bbb:/user/local是容器的地址
把容器文件拷贝到宿主机上
例如把bbb容器中的aaa.txt 拷贝到宿主机中,前提是bbb docker 容器已经运行了
docker cp bbb:/user/local/aaa.txt ./aaa.txt
docker -e参数
可以设置docker 容器的参数
容器中的数据备份于恢复
挂载在宿主机的容器只需要备份宿主机的文件即可
tar -zcvf backup.tar.gz data/ mv backup.tar.gz /home/xxx