I had similar issue to OP (.ipynb file in jupyter lab on docker image). explicitly passing in the renderer solved it with three separate options all working.
import plotly.express as px
df = px.data.iris()
fig = px.scatter(df, x='sepal_width', y='sepal_length', color="species")
# all three of these worked
fig.show(renderer='iframe')
fig.show(renderer='iframe_connected')
fig.show(renderer='colab')