我试图用 Docker 附加 Rails 容器,但他们说“你不能附加到停止的容器,先启动它”
但是我执行了$docker ps
一次,它们正在工作,但是如果我尝试执行$docker attach [rails container name]
,它就消失了。
我试过$docker restart [rails container name]
了,但它不像下面那样工作。
有谁知道我应该如何解决这个问题??
我用的是MacOS10.13.6、docker版本是19.03.8,Docker上的ruby版本是2.4.5。
$ docker-compose build
db uses an image, skipping
Building web
Step 1/8 : FROM ruby:2.4.5
---> a14928bdfa34
Step 2/8 : RUN apt-get update -qq && apt-get install -y build-essential nodejs
---> Using cache
---> 440899707638
Step 3/8 : RUN mkdir /app
---> Using cache
---> b298382e3fca
Step 4/8 : WORKDIR /app
---> Using cache
---> 1bd9c799818c
Step 5/8 : COPY Gemfile /app/Gemfile
---> Using cache
---> 4a7ad7441bfe
Step 6/8 : COPY Gemfile.lock /app/Gemfile.lock
---> Using cache
---> 916a18caba9f
Step 7/8 : RUN bundle install
---> Using cache
---> c03081abfed0
Step 8/8 : COPY . /app
---> Using cache
---> e2a7496170af
Successfully built e2a7496170af
Successfully tagged fullstack_web:latest
$ docker-compose up -d
fullstack_db_1 is up-to-date
Starting fullstack_web_1 ... done
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e117a2a95ad3 fullstack_web "bundle exec rails s…" 16 minutes ago Up 3 seconds 0.0.0.0:3000->3000/tcp fullstack_web_1
954bc6c3627f mysql:5.7 "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 3306/tcp, 33060/tcp fullstack_db_1
$ docker attach fullstack_web_1
You cannot attach to a stopped container, start it first
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
954bc6c3627f mysql:5.7 "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 3306/tcp, 33060/tcp fullstack_db_1
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e117a2a95ad3 fullstack_web "bundle exec rails s…" 16 minutes ago Exited (1) 18 seconds ago fullstack_web_1
954bc6c3627f mysql:5.7 "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 3306/tcp, 33060/tcp fullstack_db_1
$ docker restart fullstack_web_1
fullstack_web_1
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e117a2a95ad3 fullstack_web "bundle exec rails s…" 16 minutes ago Up 1 second 0.0.0.0:3000->3000/tcp fullstack_web_1
954bc6c3627f mysql:5.7 "docker-entrypoint.s…" 16 minutes ago Up 16 minutes 3306/tcp, 33060/tcp fullstack_db_1
$ docker attach fullstack_web_1
You cannot attach to a stopped container, start it first
更多信息
我尝试在 Docker 容器上使用“pry-byebug”。所以我在我的 Gemfile 中添加了“gem pry-byebug”。然后在那之后,我尝试像上面一样附加 rails 容器。
这是 Github↓ bit.ly/2U5ulA6