当前位置:首页 > Web开发 > 正文

-d参数:容器会在后台运行并不会把输出的结果打印到宿主机上面

2024-03-31 Web开发

标签:

以下是以公网web镜像进行部署测试。
一、 筹备事情

封锁selinux处事
getenforce 检察selinux状态,并封锁selinux,否则启动docker时会报错。
[[email protected] ~]# getenforce 检察selinux状态
Disabled
改削selinux配置文件

技术图片


docker启动报错信息:

技术图片


改削完selinux后重启处事器:
[[email protected] ~]# reboot
(注:安置软件为docker的可能会遇到这个问题,安置软件为docker-ce可能不会遇到。)

下载安置docker-ce
[[email protected] ~]#yum list | grep docker-ce 查抄yum 源的docker包信息
[[email protected]~]#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 安置rpm更新源
[[email protected] ~]# yum list docker-ce --showduplicates | sort –r 检察货仓中docker版本
[[email protected] ~]#yum install -y docker-ce 安置docker
[[email protected] ~]#systemctl strat docker.service 启动docker措施
[[email protected] ~]# systemctl status docker.service 检察docker运行状态

技术图片


[[email protected] ~]#systemctl enable docker.service 添加开机启动
[[email protected] ~]# docker version 检察docker版本
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:25:41 2019
OS/Arch: linux/amd64
Experimental: false

部署jave环境
wget https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz?AuthParam=1575959715_a901df40b664e3cff9415b957ddf441e
[[email protected] ~]# docker cp jdk-8u231-linux-x64.tar.gz 4c069f9a9851:/root 将jdk拷贝到容器中
拷贝命令:docker cp <.bashrc文件路径> <镜像name或image_ID>:<文件存放路径>
[[email protected] ~]# docker exec -it tomcat /bin/bash 进入Tomcat容器
[email protected]:~# cd /root/
[email protected]:~# tar -zxvf jdk-8u231-linux-x64.tar.gz 解压jdk
改削环境变量,在.bashrc中添加jdk变量,,添加以下代码。
export JAVA_HOME=http://www.mamicode.com/usr/lib/jvm/jdk1.8.0_231
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

技术图片


重启Tomcat容器:
[[email protected] src]# docker ps -a
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
e14bcf5dd711 training/sinatra "/bin/bash" 19 hours ago Exited (0) 19 hours ago kind_golick
4c069f9a9851 tomcat "catalina.shrun" 19 hours ago Up 17h ours 0.0.0.0:8081->8080/tcp tomcat
[[email protected] src]# docker restart 4c069f9a9851

[[email protected] src]# docker restart tomcat
二、 安置web应用
[[email protected] ~]# docker search tomcat 在网上处事器查找有关Tomcat镜像信息

技术图片


我们选择“STARS”资源最多的进行拉取
[[email protected] ~]# docker pull docker.io/tomcat 拉取Tomcat镜像
[[email protected] ~]# docker run -d --name tomcat -p 8081:8080 docker.io/tomcat 后台运行Tomcat镜像
若端口被占用,可以指定容器和主机的映射端口,前者是外围访谒端口,后者是容器内部端口。 -d参数:容器会在后台运行并不会把输出的功效打印到宿主机上面。使用 -d 参数启动后会返回一个独一的 id。
注:在此处遇到在不运行这条命令时Tomcat镜像无法启动。错误如下:
[[email protected] ~]# docker start docker.io/tomcat
Error response from daemon: No such container: docker.io/tomcat
Error: failed to start containers: docker.io/tomcat
其次在检察镜像状态时,不显示任何信息:
[[email protected] ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

[[email protected] ~]# docker run -d --name tomcat -p 8081:8080 docker.io/tomcat

[[email protected] ~]# systemctl status firewalld.service 检察防火墙运行状态

技术图片


[[email protected] ~]# docker start tomcat
注:
前提:在此处由于前面将防火墙封锁,导致在启动Tomcat镜像时,无法启动。
原因:由于Tomcat镜像需要用到NAT处事,封锁防火墙导致NAT处事无法使用。
问题信息:
[[email protected] ~]# docker start tomcat
Error response from daemon: driver failed programming external connectivity on endpoint tomcat (826ed3a9043296bc37b913c8f0cd900fe7424ffdcb93ff22d5f95fc39070a21f): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8081 -j DNAT --to-destination 172.17.0.2:8080 ! -i docker0: iptables: No chain/target/match by that name.

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32303.html