执行docker命令不需要sudo
sudo usermod -aG docker 当前用户名
该命令重新登录该用户才能生效
docker中要在后台运行ubuntu镜像需要 添加 -ti 参数 -d 表示后台运行
docker run -dti ubuntu:15.10 bash
进入到容器内部
docker attach d956b46ba4b3
使用docker搭建javaweb应用运行环境,
方式一:直接使用一个系统镜像,已ubuntu为例
第一步: docker run -ti ubuntu:15.10 bash ,如果要从容器外部访问,需要做物理主机和容器的一个端口映射 -p 8080:8080
这个会进入到ubuntu:15.10容器中,这就相当于在一个系统中了
第二步:安装jdk,tomcat,配置环境变量,和正常系统中一样
然后把容器的修改内容提交到镜像中 docker commit afcaf46e8305 ubuntu:15.10
afcaf46e8305这是容器的id , ubuntu:15.10 是镜像
第三步:上传项目到tomcat,启动tomcat
方式二:使用dockerFIle方式
第一步,新建一个文件中,并新建一个名为Dockerfile的文本文件
文件中的内容如下,
#基于ubuntu
FROM ubuntu
#设置工作目录
WORKDIR /home
# 安装jdk1.8
ADD ./jdk-8u51-linux-x64.tar.gz /usr/local/jdk
# 安装maven
ADD ./apache-maven-3.6.0-bin.tar.gz /usr/local/maven
# 配置环境变量
# set jdk
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_51
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH $PATH:$JAVA_HOME/bin
# set maven
ENV M2_HOME /usr/local/maven/apache-maven-3.6.0
ENV PATH $PATH:$JAVA_HOME/bin:$M2_HOME/bin
#安装 tomcat8
#RUN apt-get update
ADD ./apache-tomcat-8.0.30.tar.gz /usr/local/tomcat
#设置ubuntu编码
ENV LANG C.UTF-8
ADD 命令就是把本地的文件上传到镜像中 ,这个也可以使用RUN 命令从远程仓库中下载
在当前目录下运行
docker build -t java_server:1.0 . 这个命令生成一个镜像 .表示当前目录 java_server:1.0 表示镜像名称和版本, 用:分割
然后就可以运行镜像启动一个容器,注意要做主机和容器端口的一个映射,然后才能访问
docker run -p 8080:8080 -it java_server:1.0 bash
容器中注册到eureka中,加 --net=host 参数,可以解决网络问题,就不需要再绑定端口了
docker run -itd --net=host 2d0cf89739f2 后台运行容器
第二步,就可以把项目上传上去
docker cp 本地文件路径 ID全称:容器路径
#设置ubuntu编码
ENV LANG C.UTF-8
系统中可能缺少中文字符集,需要安装,可以进入容器后安装
apt-get install language-pack-zh-hans
locale-gen zh_CN.UTF-8
export LC_ALL='zh_CN.UTF-8'
永久修改
进入 /etc 修改bash.bashrc文件
添加 export LC_ALL='zh_CN.UTF-8' ,保存退出
刷新,让字符集立即生效 source bash.bashrc
参考http://www.360doc.com/content/19/0404/16/2036337_826417566.shtml
docker使用可以参考这个