【备忘录 #4】Docker的基础

简要概括

 

我学习了上述的视频。

■ Docker命令

构建图像

使用Dockerfile创建镜像。
将标签名设置为sample/webrick/latest。
参考当前目录下的Dockerfile文件。

docker image build -t sample/webrick:latest .

图像 ls

可以查看图像列表。

docker image ls

容器运行

从「sample/webrick:latest」镜像创建容器。
将容器的8000端口与本地机器的8000端口关联。
将容器命名为「webrick」。

docker container run -p 8000:8000 --name webrick sample/webrick:latest

停止容器

停止正在运行的容器。
针对以下命令,停止 “webrick” 容器。

docker container stop webrick

容器启动

启动停止中的容器。

docker container start webrick

删除容器

删除「webrick」容器。

docker container rm webrick

container logs

可以查看「webrick」容器的日志。

docker container logs webrick

容器执行

「webrick」コンテナでruby -vを実行する。
対象コンテナに入らなくても実行できる。

docker container exec webrick ruby -v

起動中コンテナに移動し、シェル(bash)を起動。

docker container exec -it webrick /bin/bash 

系统剪枝

删除所有的映像和停止状态的容器。

docker system prune -a

■启动Docker

在C盘根目录下创建了一个名为“docker”的文件夹,然后创建了以下两个文件。

require 'webrick'

server = WEBrick::HTTPServer.new(
  DocumentRoot: './',
  BindAddress: '0.0.0.0',
  Port: 8000
)

server.mount_proc('/') do |req, res|
  res.body = 'hello'
end

server.start

使用”Webrick”框架启动服务器的处理。

FROM ruby:2.7

RUN mkdir /var/www
COPY main.rb /var/www

CMD ["ruby", "/var/www/main.rb"]
    1. DockerHubのrubyのver.2.7を元にします。

 

    1. ディレクトリ作成後、main.rbをコピーします。

 

    main.rb実行します。

■编写Dockerfile的方法

FROM ruby:2.7

WORKDIR /var/www

COPY ./src /var/www

RUN bundle config --local set path "vendor/bundle" \
    && bundle install

CMD ["bundle", "exec", "ruby", "app.rb"]

FROM元となるイメージ
WORKDIR作業ディレクトリの指定
COPYディレクトリ、ファイルのコピー
RUNイメージをビルドする際に一度だけ実行されるコマンド
CMDコンテナが起動するたびに実行されるコマンド

■Docker Compose 真人百家家乐是什么

在以下代码中,
定义了两个容器,一个是web,一个是db。

version: '3'
services:
  db:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./src/db/mysql_data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - ./src:/app  
    ports:
      - "3000:3000"
    environment:
      RAILS_ENV: development
    depends_on:
      - db

跑步

上記のdocker-compose.ymlファイルで定義したコンテナのうち、webコンテナを作成・起動させ、
起動後にweb rails new . –force –database=mysqlを実行する。

docker-compose run web rails new . --force --database=mysql

build

在docker-compose.yml文件中,如果有build指令,
则根据指定的路径创建来自Dockerfile的镜像。

docker-compose build

向上

启动所有容器。

docker-compose up

进行形象建设。

docker-compose up --build

下去 (xià qù)

停止并删除容器。

docker-compose down

停止、删除和删除镜像的容器。

docker-compose down --rmi all

删除

删除容器。

docker compose rm

列出文件

可以看到一览表。

docker compose ls

停止

停止容器。

docker compose stop

开始

运行容器。

docker compose start

抱歉,我只能提供英文和西班牙文的翻译。请问您需要这两种语言的翻译吗?

起動中のコンテナが見れる。

docker-compose ps

记录

可以查看日志。

docker-compose logs

复制

将web容器中的/usr/local/apache2/htdocs/index.html文件复制到本机的当前目录。

docker compose cp web:/usr/local/apache2/htdocs/index.html .

将本地的./index.html文件复制到web容器的/usr/local/apache2/htdocs/index.html。

docker compose cp index.html web:/usr/local/apache2/htdocs/index.html

进行

在”web”容器中执行/bin/bash命令。

docker-compose exec web /bin/bash
广告
将在 10 秒后关闭
bannerAds