docker进阶(docker容器创建和迁移)

前期准备:docker安装

请看上一篇:docker安装(手动和yum源方式)_奔驰的小野码的博客-CSDN博客

创建容器

在联网服务器上首先部署一个docker容器,例如java_backend

下载镜像

输入命令:docker pull centos:7               下载一个centos7的镜像文件

输入命令:docker images                        查看镜像文件是否下载成功

创建容器

输入命令:docker run -id --restart=always --name=输入自己想要的名字,这里以java_backend为例 -p 8085:8085 -v /home/java_backend:/home/java_backend centos:7            

创建java_backend容器

其中,重要的是:端口映射-p、目录映射-v,

           如果要映射多个端口,就多次-p

容器提交为镜像

先将容器停掉

输入命令:docker stop java_backend

将容器提交为一个新镜像

输入命令:docker commit java_backend java

查看镜像

输入命令:docker images

将镜像打包成tar文件

输入命令:docker save -o java.tar java

载入tar文件为镜像

内网环境载入迁移过来的镜像

以java容器为例

docker load -i /home/java_backend/java.tar

docker load:docker载入

-i(input)<表示从文件输入

输入命令:docker image        查看镜像是否载入成功

以载入的镜像生成一个新的容器

输入命令:docker run -id --restart=always --name=java_backend -p 8085:8085 -v /home/java_backend:/home/java_backend java

补充

注意:容器迁移,进行打包时,不回把后端jar包、亲段dist代码,数据库表、jdk一块进行打包,需要在迁移之后,手动进行安装

jdk安装

进入容器命令:docker exec -it java_backend /bin/bash

将jdk放进容器内,通过命令:docker cp jdk* java_backend:/home/java_backend  

对jdk进行解压,命令:tar -xvf  jdk*.tar

(也可以通过目录映射的方式进行,输入如下命令:chcon -Rt svirt_sandbox_file_t /home/java_backend 将要挂载的目录添加到selinux白名单,格式如下

chcon [-R] [-t type] [-u user] [-r role] 文件或者目录

选顷不参数:

-R :该目录下的所有目录也同时修改;

-t :后面接安全性本文的类型字段,例如 httpd_sys_content_t ;

-u :后面接身份识别,例如 system_u;

-r :后面街觇色,例如 system_r

这样,就不用再将jdk进行复制进容器了)

修改环境变量,输入命令:vi /etc/profile

添加jdk环境变量

export JAVA_HOME=/home/java_backend/jdk1.8.0_221(路径按照实际的来

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

重启环境变量,输入命令:source /etc/profile

问题:这时退出docker环境变量会失效需要重新执行命令:source /etc/profile

解决方案:

在容器内输入命令:vi /root/.bashrc

将source /etc/profile添加到指定位置

此时退出容器,输入命令:exit

再次进入容器:输入命令:docker exec -it java_backend /bin/bash

再次查看jdk版本:java -version 是成功的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值