部署
1、如果把代码打包成了zip压缩包,那么拷贝到linux新建的文件夹内
2、解压压缩包
unzip my_code.zip
3、cd进入到压缩包文件夹内,创建镜像
# xiangmu_img 为创建的镜像名称,. 表示当前目录(my_code)
docker build -t xiangmu_img .
# 查看镜像是否创建成功
docker images
4、运行镜像并生成启动容器
docker run -it -p 9060:9060 --name xiangmu xaingmu_img
"""
-it:表示交互式终端的容器,非启动后立刻结束的容器
-p 9060:9060:表示将docker的9060端口,映射到Linux虚拟机的9060端口
也就是说,访问Linux虚拟机的9060端口,就是在访问docker容器的9060端口
--name xaingmu:给容器取个名字,嫌麻烦可以省去
xiangmu_img:容器是用哪个镜像启动的(一个容器,必须依赖一个镜像启动)
如果报错docker: Error response from daemon: No command specified.
可以查看command命令,如果是 /bin/bash,那么在这个启动命令最后添加 /bin/bash 就可以了
"""
# 运行 python3:v0.1 镜像--设置网络映射--设置目录映射启动
docker run -it --name=meiduo --network=host -v /data/docker/image/meiduo_mall/:/data/docker/image/meiduo_mall python3:v0.1
5、导出、导入镜像或容器
# 镜像保存为镜像文件,(update是一个已经存在的镜像)
docker save -o update1.tar update
# 从镜像文件加载生成新镜像:
docker load < update1.tar
# 将容器导出为tar容器文件
# 其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)
docker export -o nginx-test.tar nginx-test
#导出为tar
docker export #ID or #Name > /home/export.tar
# 将docker导出的镜像文件恢复成为一个镜像
docker import - 镜像名 < update.tar
"""
示例
docker import nginx-test.tar nginx:imp
或
cat nginx-test.tar | docker import - nginx:imp
"""
6、docker的一些其他指令
# 删除容器:-f强制删除
docker rm 容器ID
# 删除镜像:
docker rmi 镜像ID/镜像名
#查看安装的docker:
yum list installed | grep docker
# 查看容器:
docker ps -a
# 查看镜像:
docker images