Docker镜像的管理
在线下载镜像
docker pull centos:7.2.1511 镜像:版本
docker容器和镜像之间的关系
容器 = 镜像 + 读写层。并且容器的定义并没有提及是否要运行容器。
用下载好的镜像做基础镜像,当需要一个容器时,只需要修改容器的名字,就会创建出一个容器,用来往后的部署项目或别的用途。命令为?
docker run -it --name test [4cbf48630b4 镜像id ] /bin/bash
--name test 给容器起一个别名。
Dockerfile制作镜像步骤
创建dockerfile文件夹 mkdir dockfile
在文件夹下创建Dockerfile文件 touch Dockerfile
编辑Dockerfile文件 vim Dockerfile
文件内容如下:
#版本信息
FROM centos
MAINTAINER hjm"1256050495@163.com"
ENV REFRESHED_AT 2018-10-08
#设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone
#安装jdk1.8
RUN mkdir -p /usr/local/java
ADD jdk1.8.0_11 /usr/local/java/jdk1.8.0_11
#配置jdk环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_11
ENV JRE_HOME /usr/local/java/jdk1.8.0_11/jre
ENV CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
#添加so库
#ADD libgmp.so.3 /usr/lib64/libgmp.so.3
#ADD libolymsdfjni.so /usr/lib64/libolymsdfjni.so
#ADD libxcipher.so /usr/lib64/libxcipher.so
执行创建镜像命令
docker build -t="centos/seal" .
注:点代表当前目录。
docker tag [image id] [name]:[版本]
解决docker加载新的镜像后repository和tag名称都为none
docker容器与虚拟机端口映射
映射命令为:
docker run -it -p 8888:8080 --name 别名 镜像id /bin/bash
执行java -version查看当前jdk版本,
注:jdk存放的目录与Dockerfile中的jdk文件路径一样
注:创建好镜像,配置了端口映射后,如果还有需要的配置,按实际需求进行容器的基本配置。
新的容器的基本配置
SSH通过命令行安装
1.pull ubuntu镜像
docker pull ubuntu:latest
2下载好镜像后docker images查看当前镜像有哪些
运行并进入容器docker run -it --name ubuntu [cd6d镜像id ] /bin/bash
映射端口,映射配置文件docker run -it -p 8070:8080 -v /root/software:/software --privileged=true docker.io/centos /bin/bash
3.安装openssh-server并启动
apt-get update
apt-get install openssh-server
启动之前需手动创建/var/run/sshd,不然启动sshd的时候会报错
mkdir -p /var/run/sshd
sshd以守护进程运行 待定
/usr/sbin/sshd -D &
安装netstat,查看sshd是否监听22端口
apt-get install net-tools
netstat -apn | grep ssh
如果已经监听22端口,说明sshd服务启动成功
ssh登陆
①生成ssh key
ssh-keygen -t rsa
②修改sshd-config允许root登陆
sed -i 's+PermitRootLogin prohibit-password+PermitRootLogin yes' /etc/ssh/sshd-config
修改完sshd-config之后需要重启sshd服务
- 找到pid [ssh的id
ps -aux | grep ssh
④杀掉ssh进程
kill -9 pid [ssh的id]
⑤/usr/sbin/sshd -D &
⑥查看容器ip
Ifconfig
更新系统
添加root用户密码
容器jdk以及tomcat的安装
Docker容器中安装jdk1.8
- 进入容器 docker exec -ti [容器id] /bin/bash
- 建立容器系统的JAVA_HOME目录
- 复制gz文件到容器中的root的用户目录下,虚拟机与容器之间文件的拷贝
docker cp /usr/local/java/apache-tomcat-7.0.67.tar.gz 容器id:/usr/lib/jvm
- 安装vim
- 设置环境变量编辑环境变量文件命令:vim ~/.bashrc
#set oracle jdk environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
- 设置环境变量生效
source ~/.bashrc
- 查看jdk环境变量
java -version
tomcat的安装以及环境变量的配置
将解压后的tomcat移动到需要放的目录文件下
前往Tomcat文件bin目录下运行tomcat
命令为./startup.sh &
查看tomcat进程是否运行
命令为ps -ef|grep tomcat
前往bin目录的同级目录logs日志文件目录下
命令在图中标注
容器部署项目与虚机相同,步骤略。
查看容器信息
Docker ps -a
Docker安装软件命令
Ubuntu下工具包命令
linux vim: command not found
apt-get install vim 执行后是否继续小写的y
linux ping: command not found
apt-get install inetutils-ping
CentOS下工具包命令
bash: docker: 未找到命令...
docker
CentOS的软件安装工具不是apt-get 是yum
# yum -y install gcc
-bash: wget: 未找到命令
yum -y install wget
bash: make: command not found
yum -y install make
查找文件命令
find / -name 文件名
挂载
docker run -p 3306:3306 --name master -v /conf/master.cnf:/etc/mysql/conf.d/master.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
//查看当前系统磁盘使用空间
df -h
//查看当前目录文件占用空间大小
du -sh *