docker 学习

执行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使用可以参考这个

https://blog.csdn.net/qq_33256688/article/details/80319673

原文地址:https://www.cnblogs.com/licorice/p/11130566.html