我正在docker_container_1中运行一个应用程序,其中多个端口已映射到本地。
因此,我可以从本地计算机上的docker_container_1访问该服务。
现在,我想从docker_container_1访问另一个docker_container(docker_container_2)的服务,但是由于无法映射映射到docker_container_1的端口,所以我无法创建docker_container_2。
如何从docker_1绑定到另一个docker_2的端口(例如5555)访问服务。
答案 0 :(得分:0)
所以,最初我有两个docker镜像:
public class Splash extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
setupWindowAnimations();
TextView textView = findViewById(R.id.textviewmain);
TextView textView1 = findViewById(R.id.textviewmain2);
ImageView logo = findViewById(R.id.logo_s);
Animation animation1 = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.fadein);
logo.startAnimation(animation1);
textView.startAnimation(animation1);
textView1.startAnimation(animation1);
Thread timer = new Thread(){
@Override
public void run(){
try {
sleep(3000);
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
super.run();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
timer.start();
}
private void setupWindowAnimations() {
Fade fade = new Fade();
fade.setDuration(3000);
getWindow().setExitTransition(fade);
}
}
我为<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#092865"
tools:context=".Splash"
android:theme="@style/AppTheme.NoActionBar">
<ImageView
android:id="@+id/splashbg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="-315dp"
android:src="@drawable/splashbg2"
/>
<RelativeLayout
android:id="@+id/slidesplash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="100dp"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:background="@null"
android:gravity="center_horizontal">
<ImageView
android:id="@+id/logo_s"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerVertical="true"
android:contentDescription="@string/daily_highlights_dose"
android:src="@drawable/icon24"
android:transitionName="logo" />
<TextView
android:id="@+id/textviewmain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_centerVertical="true"
android:layout_toEndOf="@id/logo_s"
android:text="@string/sports"
android:textColor="#ffffff"
android:textSize="25sp" />
<TextView
android:id="@+id/textviewmain2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_centerVertical="true"
android:layout_toEndOf="@+id/textviewmain"
android:text="Highlights"
android:textColor="#1FD883"
android:textSize="27sp" />
</RelativeLayout>
<!-- #f93959 -->
</RelativeLayout>
图像制作了一个容器,几乎没有映射端口。
REPOSITORY TAG IMAGE ID CREATED SIZE
bert_client_api latest 2fa40dd05152 17 hours ago 841MB
bert_services latest 1695c35fde34 18 hours ago 2.74GB
所以我的运行容器为:
bert-services
[我从容器$ sudo docker run -it -v /home/jugs/Desktop/BERT-Pretrained/uncased_L-12_H-768_A-12/1/:/model/ -p 5000:5000 -p 127.0.0.1:5555:5555 -p 127.0.0.1:5556:5556 bert_services /bin/bash
中运行了托管服务
现在,如果我要从主机获得所有服务(包括容器服务),方法是使用(myenv) jugs@jugs:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
de9bb74a0e04 bert_client_api "/bin/bash" 9 minutes ago Up 9 minutes suspicious_lewin
,
de9bb74a0e04
现在,您有两个可以轻松通信的容器。
--net=host