docker run 参数
-i :没有客户端连接,依然保持运行
-t: 给容器设置一个终端
-d:不会直接进入容器,再容器中操作完,exit容器不会自动关闭
--name:给容器起别名
docker run命令例子:
1. docker run -it --name=c1 centos:7
语法:docker run -it --name= 别名 镜像名称
进入容器:docker exec -it 容器id/容器名称 /bin/bash
docker容器数据卷挂载到容器:
语法:docker run -it --name=容器别名 -v 宿主机的绝对路径:容器的绝对路径 容器名称
例子: sudo docker run -it --name=u1 -v /myfile:/new_file ubuntu
解释:宿主机文件夹有的,容器也会有,数据同步
mysql容器部署
先拉取镜像:docker pull mysql:5.6
docker 容器转为镜像:docker commit 容器id 镜像名称:版本号
#导出镜像到宿主机上
docker save -o 导出的压缩包名 镜像名称:版本号 镜像名和版本号,都是自己定义的
docker save -o coredns.tar k8s.gcr.io/coredns:1.3.1
#导入镜像包
docker load < 镜像包名称
docker load < coredns.tar
#创建自己的镜像仓库
1. 先拉取一个镜像仓库
docker pull registry
2.启动容器
docker -id --name=registry -p 容器外部端口:容器内部端口 镜像名称
例子:docker run -id --name=registry -p 5000:5000 registry
3. 打包上传的镜像
语法:docker tag 镜像名:版本号 自己服务器ip:端口号/自定义镜像包
#后台运行容器
-p 外部端口:docker内部端口 --name 起别名 镜像名
docker run -p 8081:8081 -it --name ubuntu-test ubuntu /bin/bash
启动镜像
docker run 镜像名称 /bin/bash
docker run ubuntu
docker run -d -p 5000:5000 镜像名称
docker run -d -p 127.0.0.1:5001:5000 镜像名称
#查看所有镜像:
docker images
#删除指定镜像
docker rmi 镜像名称(REPOSITORY):标签(tag)
启动容器
docker start python_3.9_15_LZQ
docker start (容器名字)
进入容器
docker exec -it 66cf5f9bfd55 bash
docker exec -it 版本号 bash
拷贝文件到容器
docker cp 本地文件路径 容器ID/容器NAME:容器内路径(语法)
docker cp StreamInferenceHandler.py 99e6579b8fb3:/project
重启容器
docker restart 容器ID或容器名
查看容器id
docker ps -a
复制容器内文件到本地
docker cp 容器ID:目标文件路径 本地文件路径
docker cp 99e6579b8fb3:/project/result_ele500_输入384-640.xls /data2/fight_test/测试结果文件
查看docker日志
docker logs --tail=行数 -f 容器名/容器ID
#删除未挂载的镜像
docker rmi 镜像名
#导出容器到本地
docker export 容器id > 导出的名字
#本地docker包导入docker(导入成功为镜像)
表示镜像的仓库源:REPOSITORY 标签名:tag
cat docker/导入的包 | docker import - 镜像的仓库源:标签名
#可以查看指定 (ID 或者名字)容器的某个确定端口映射到宿主机的端口号。
docker port 容器id/容器name
#导出镜像到宿主机上
docker save -o 导出的压缩包名 镜像名称:版本号
docker save -o coredns.tar k8s.gcr.io/coredns:1.3.1
#导入镜像包
docker load < 镜像包名称
docker load < coredns.tar
#查看端口占用的容器
docker ps|grep 端口