Docker介绍

在这里插入图片描述
在这里插入图片描述

一、安装CentOS7 Linux虚拟机

https://pan.baidu.com/s/1Hhov4WqJ0Gw3Jasor8brMg

二、安装和配置Docker

yum install docker-io
service docker start
chkconfig docker on
如果Docker启动失败,关闭防火墙和Selinux

三、下载Docker镜像

docker pull tcbenkhard/centos6-jdk7
在这里插入图片描述

四、查看Docker镜像

docker images
在这里插入图片描述

五、启动Docker容器

docker run -i -t docker.io/tcbenkhard/centos6-jdk7 /bin/bash
在这里插入图片描述
参数 -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,参数 -i 则让容器的标准输入保持打开。

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
(1)检查本地是否存在指定的镜像,不存在就从公有仓库下载
(2)利用镜像创建并启动一个容器
(3)分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
(4)从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
(5)从地址池配置一个 ip 地址给容器
(6)执行用户指定的应用程序
(7)执行完毕后容器被终止

六、使用已有Docker镜像生成新的镜像

A、修改root用户密码
passwd root
在这里插入图片描述
B、安装Openssh
yum -y install openssh-server
yum -y install openssh-clients
在这里插入图片描述
在这里插入图片描述
C、修改Openssh配置
vi /etc/ssh/sshd_config
在这里插入图片描述
在这里插入图片描述
D、配置Ssh
service sshd restart
chkconfig sshd on

E、退出Docker容器
在这里插入图片描述
F、使用 docker commit 命令来提交更新后的副本
docker commit -m ‘openssh’ -a ‘Docker TomatSSH’ 8a6143db8502 web:centos6ssh
在这里插入图片描述
G、查看Docker镜像
在这里插入图片描述
修改Tag名称
docker tag -f web:centos6ssh web:latest

七、启动新的容器并打通22端口

docker run -d -p 50001:22 web:centos6ssh /usr/sbin/sshd -D
在这里插入图片描述

八、查看Docker进程

docker ps
在这里插入图片描述

九、使用SSH连接Docker容器

在这里插入图片描述

十、关闭Docker容器

在这里插入图片描述

十一、删除Docker镜像

docker rmi -f e1ddf3a0b26
在这里插入图片描述

十二、定制Docker镜像

在CensOS7 Linux虚拟机上新建目录
/u01/tomcat-docker,拷贝JDK7和Tomcat7到此目录中
在这里插入图片描述
这些文件可以从云盘下载:
https://pan.baidu.com/s/1ong89jTKWdCQ1lEWRSD6QA

在/u01/tomcat-docker目录下新建文件Dockerfile

FROM centos:6

MAINTAINER qixiangchen “qixiang_chen@aliyun.com”

ENV DEBIAN_FRONTEND noninteractive

ENV CATALINA_HOME /tomcat

ENV JAVA_HOME /jdk

ADD tomcat-7.0.33 /tomcat

ADD jdk1.7.0_21 /jdk

ADD run.sh /run.sh

RUN chmod +x /*.sh

RUN chmod +x /tomcat/bin/*.sh

CMD ["/run.sh"]

在/u01/tomcat-docker目录下新建文件run.sh文件
#!/bin/bash

exec ${CATALINA_HOME}/bin/catalina.sh run

十三、生成自定义Docker镜像

将Shell的当前目录转移到/u01/tomcat-docker
docker build -t my:tomcat /u01/tomcat-docker -f /u01/tomcat-docker/Dockerfile

[root@localhost tomcat-docker]# docker build -t my:tomcat /u01/tomcat-docker -f /u01/tomcat-docker/Dockerfile
Sending build context to Docker daemon 226.4 MB
Step 1/11 : FROM centos:6
Trying to pull repository docker.io/library/centos …
6: Pulling from docker.io/library/centos
987d765a926d: Already exists
Digest: sha256:bac053540cfdc5c034191d2f20207dc83f5336bca0bcdbb9d9a58a64ed30d4f3
Status: Downloaded newer image for docker.io/centos:6
—> 70b5d81549ec
Step 2/11 : MAINTAINER qixiangchen “qixiang_chen@aliyun.com”
—> Running in 19b2694c1fd4
—> 9b4320452e5e
Removing intermediate container 19b2694c1fd4
Step 3/11 : ENV DEBIAN_FRONTEND noninteractive
—> Running in f5ad60c00fd6
—> 6a0f695af2a1
Removing intermediate container f5ad60c00fd6
Step 4/11 : ENV CATALINA_HOME /tomcat
—> Running in f5f080288411
—> 4554cb29b2a1
Removing intermediate container f5f080288411
Step 5/11 : ENV JAVA_HOME /jdk
—> Running in 2f082860f356
—> 5ef966815b55
Removing intermediate container 2f082860f356
Step 6/11 : ADD tomcat-7.0.33 /tomcat
—> 0047c158947d
Removing intermediate container 226f4e806032
Step 7/11 : ADD jdk1.7.0_21 /jdk
—> 24c69e85d8fd
Removing intermediate container 3cf84e93c5a7
Step 8/11 : ADD run.sh /run.sh
—> 0326fea49b0e
Removing intermediate container 8afa67a983e6
Step 9/11 : RUN chmod +x /*.sh
—> Running in 6abc6421de4f

—> de07b2ff628a
Removing intermediate container 6abc6421de4f
Step 10/11 : RUN chmod +x /tomcat/bin/*.sh
—> Running in b441bfa0720f

—> da572d3cf19f
Removing intermediate container b441bfa0720f
Step 11/11 : CMD /run.sh
—> Running in 85a36c4532fc
—> 836de2459d34
Removing intermediate container 85a36c4532fc
Successfully built 836de2459d34
[root@localhost tomcat-docker]#

十四、查看Docker镜像

在这里插入图片描述

十五、配置自定义Docker镜像可以SSH远程访问

在这里插入图片描述
A.修改root用户密码
在这里插入图片描述
B.安装OpenSSH
yum -y install openssh-server
yum -y install openssh-clients
service sshd restart
chkconfig sshd on
C.配置JAVA_HOME和PATH
vi /etc/profile
在文件最末尾添加

export JAVA_HOME=/jdk
export PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

生效配置
source /etc/profile

D.退出Docker容器,生成新的Docker镜像

docker commit -m ‘openssh’ -a ‘Docker TomatSSH’ 2f2636098538 my:tomcat
在这里插入图片描述

十六、Docker容器多端口映射启动

docker run -d -p 10022:22 -p 18080:8080 my:tomcat /usr/sbin/sshd -D
在这里插入图片描述

十七、SSH远程Docker容器并启动Tomcat

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十八、打包Docker镜像

docker save -o mytomcat-docker.tar my

在这里插入图片描述

十九、导入Docker镜像

docker load -i mytomcat-docker.tar

在这里插入图片描述

二十、停止Docker容器

在这里插入图片描述
docker stop containerId 关闭容器

docker restart containerId 重启容器

docker exec -it containerId /bin/bash 连接后台容器启动Shell

二十一、Docker容器映射多个端口启动

docker run -d -p 10022:22 -p 18080:8080 my:tomcat /usr/sbin/sshd -D

问题列表

1、如果SSH连接Docker镜像,出现Connection to localhost closed

主要原因是Docker镜像中SSH配置文件问题
vi /etc/ssh/sshd_config

UsePAM no

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
AuthorizedKeysCommand none
AuthorizedKeysCommandRunAs nobody
PermitRootLogin yes

使用SSH连接Docker出现异常,可以使用如下命令跟踪SSH调试信息
$ ssh -v localhost

如果出现
Transferred: sent 2264, received 2224 bytes, in 0.0 seconds
Bytes per second: sent 235367.6, received 231209.1
debug1: Exit status 254

说明/etc/ssh/sshd_config配置文中
UsePAM yes
修改为
UsePAM no

2、如果启动端口映射报iptables端口地址转换失败
docker run -d -p 10022:22 -p 18080:8080 my:tomcat /usr/sbin/sshd -D

重新启动docker服务
service docker restart

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值