上一篇:Docker学习1《环境准备、原理、常用命令》


目录

  • 一、安装nginx镜像
  • 1、获取nginx的版本
  • 2、下载nginx
  • 3、运行nginx
  • 4、开放端口
  • 5、测试
  • 6、端口暴露的概念
  • 二、安装tomcat镜像
  • 1、下载tomcat
  • 2、启动运行
  • 3、进如tomcat容器
  • 三、安装centos7镜像并在里面安装jdk和tomcat
  • 1、下载centos镜像
  • 2、启动镜像
  • 3、进入容器并配置ssh服务
  • 4、基础配置
  • 5、docker的centos镜像里面安装JDK8
  • 6、设置环境变量
  • 7、安装tomcat
  • 8、设置环境变量
  • 四、镜像导出导入
  • 1、导出镜像
  • 2、导入镜像
  • 五、容器导入导出
  • 1、导出容器
  • 2、导入容器
  • 六、上传到仓库
  • 1、注册账号:
  • 2、登录(输入账号和密码)
  • 3、将容器转换为镜像
  • 4、上传镜像到默认仓库
  • 5、下载
  • 七、上传到阿里云
  • 1、创建命名空间
  • 2、创建镜像仓库
  • 3、命令
  • 1. 登录阿里云Docker Registry
  • 2、从Registry中拉取镜像
  • 3、将镜像推送到Registry
  • 4、示例


一、安装nginx镜像

1、获取nginx的版本

官网:https://hub.docker.com/search?q=nginx&type=image

docker容器里安装firewalld docker安装firefox_centos


进去后往下拉,就能看到:

docker容器里安装firewalld docker安装firefox_tomcat_02

2、下载nginx

docker pull nginx

docker容器里安装firewalld docker安装firefox_docker_03


查看是否下载安装成功

docker images

docker容器里安装firewalld docker安装firefox_nginx_04

3、运行nginx

docker run -d --name nginx01 -p 3344:80 nginx

docker容器里安装firewalld docker安装firefox_docker_05

4、开放端口

检查防火墙状态

firewall-cmd --state

running 表示防火墙是开启的,如果你看到的是 not running,防火墙关闭,需要开启 systemctl start firewalld.service

开放 3344 端口

firewall-cmd --zone=public --add-port=3344/tcp --permanent

重启防火墙

systemctl restart firewalld.service

重新载入配置

firewall-cmd --reload

注意:如果是阿里云服务器,还有开放安全组

5、测试

curl localhost:3344

6、端口暴露的概念

docker容器里安装firewalld docker安装firefox_nginx_06

二、安装tomcat镜像

1、下载tomcat

docker pull tomcat:9.0

docker容器里安装firewalld docker安装firefox_centos_07


docker容器里安装firewalld docker安装firefox_docker_08

2、启动运行

docker run --privileged -itd --name tomcat01 -p 8085:8080 tomcat

3、进如tomcat容器

docker exec -it tomcat01 /bin/bash

# 拷贝
cp -r webapps.dist/* webspps

三、安装centos7镜像并在里面安装jdk和tomcat

1、下载centos镜像

docker pull centos:7

docker容器里安装firewalld docker安装firefox_nginx_09

2、启动镜像

如果不指定 /bin/bash,容器运行后会自动停止

启动镜像:

docker run --privileged  -itd -p 2222:22 -p 8085:8080 -p 9200:9200 -p 5601:5601 --name centos7_server_2 centos:7 /usr/sbin/init

参数说明:

--privileged         # 启动后让docker容器具备超级特权。
-itd                 # 交互式、终端、后台运行
--restart=always     # 开机自启动容器
-p                   # 把宿主机的2222端口映射到docker的22端口。
--name               # 给启动的容器命名,方便后续操作
9f38484d220f         # 就是IMAGE ID

※ 宿主机就是运行docker的机器,这样访问宿主机IP:2222端口,实际访问的是docker的22端口。

3、进入容器并配置ssh服务

进入容器

docker exec -it centos7_server /bin/bash

docker容器里安装firewalld docker安装firefox_nginx_10


----------------------一下都是在容器内部操作--------------------------

#安装openssh
yum install -y openssh-server openssh-clients

#启动openssh
systemctl start sshd

#设置root密码
passwd 
bash: passwd: command not found

#安装passwd 
yum install passwd \

# 再次设置密码
passwd
。。。。1次密码
。。。。2次确认

#退出容器
exit

4、基础配置

先进入centos容器:

docker exec -it centos7_server /bin/bash

1)ifconfig (网络\IP),安装netstat:

yum install net-tools

2)unzip zip(压缩\解压缩) :

yum install -y unzip zip

3)rz (文件上传) :

yum -y install lrzsz

4)安装wget:

yum -y install wget

5)firewall-cmd:

yum install firewalld systemd -y

6)安装更新系统时间:

yum install ntpdate

7)安装tree:

yum -y install tree

8)安装vim:

yum -y install vim

9)退出:

exit

10)测试:

ssh root@localhost -p 2222

5、docker的centos镜像里面安装JDK8

在docker的centos镜像里面运行:

创建目录并进入:

mkdir /usr/local/java/

cd /usr/local/java/

下载jdk8:

wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

解压:

tar -zxvf jdk-8u141-linux-x64.tar.gz

6、设置环境变量

vim /etc/profile

在末尾添加:

export JAVA_HOME=/usr/local/java/jdk1.8.0_141
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

docker容器里安装firewalld docker安装firefox_docker_11


使环境变量生效

source /etc/profile

添加软链接

ln -s /usr/local/java/jdk1.8.0_141/bin/java /usr/bin/java

检查

java -version

docker容器里安装firewalld docker安装firefox_tomcat_12

7、安装tomcat

创建目录:

mkdir tomcat

docker容器里安装firewalld docker安装firefox_centos_13


进入tomcat目录 :

cd tomcat

下载tomcat

tomcat官网:https://tomcat.apache.org/download-90.cgi

wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.39/bin/apache-tomcat-9.0.39.tar.gz

docker容器里安装firewalld docker安装firefox_tomcat_14


解压

tar -zxvf apache-tomcat-9.0.39.tar.gz

8、设置环境变量

vim /etc/profile

在末尾添加

export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-9.0.39
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.39
export PATH=${TOMCAT_HOME}/bin:$PATH

docker容器里安装firewalld docker安装firefox_nginx_15


使环境变量生效

source /etc/profile

ptable转发端口(将docker容器的8080端口映射到宿主机的8085端口):

iptables -t nat -A  DOCKER -p tcp --dport 8085 -j DNAT --to-destination 172.17.0.1:8080

四、镜像导出导入

1、导出镜像

docker save 镜像ID > test.tar  test:6.4.2 /usr/local/docker/

2、导入镜像

docker load < test.tar

五、容器导入导出

1、导出容器

docker export 容器id > my_centos7.jar

2、导入容器

docker import my_centos7.jar centos:7

刷新环境(导入或重新进入容器后,环境变量需要刷新才能使用)

source /etc/profile

六、上传到仓库

1、注册账号:

https://hub.docker.com

并设置邮箱:

docker容器里安装firewalld docker安装firefox_centos_16

2、登录(输入账号和密码)

docker login

3、将容器转换为镜像

格式:
docker commit 容器名称  账号名/镜像名: tag
例如:
docker commit centos7_server_2 xdragon6/java_tomcat_es:1

4、上传镜像到默认仓库

docker push xdragon6/java_tomcat_es:1

5、下载

登录(输入账号和密码)

docker login

下载

docker pull xdragon6/java_tomcat_es:1

七、上传到阿里云

1、创建命名空间

docker容器里安装firewalld docker安装firefox_centos_17

2、创建镜像仓库

docker容器里安装firewalld docker安装firefox_nginx_18


docker容器里安装firewalld docker安装firefox_centos_19


docker容器里安装firewalld docker安装firefox_nginx_20


docker容器里安装firewalld docker安装firefox_nginx_21

3、命令

1. 登录阿里云Docker Registry

docker login --username=xdragon000 registry.cn-shenzhen.aliyuncs.com

2、从Registry中拉取镜像

docker pull registry.cn-shenzhen.aliyuncs.com/xdragon/java_tomcat:[镜像版本号]

3、将镜像推送到Registry

docker login --username=xdragon000 registry.cn-shenzhen.aliyuncs.com

docker tag 25286417b08d registry.cn-shenzhen.aliyuncs.com/xdragon/java_tomcat:1.2

docker push registry.cn-shenzhen.aliyuncs.com/xdragon/java_tomcat:1.2

4、示例

使用"docker tag"命令重命名镜像,并将它通过专有网络地址推送至Registry。

docker tag 37bb9c63c8b2 registry-vpc.cn-shenzhen.aliyuncs.com/acs/agent:0.7-dfb6816

使用 “docker push” 命令将该镜像推送至远程。

docker push registry-vpc.cn-shenzhen.aliyuncs.com/acs/agent:0.7-dfb6816

上一篇:Docker学习1《环境准备、原理、常用命令》