Docker从入门到熟练使用(详解,第三篇,共五篇)

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 *

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值