Docker 笔记

试着进行导入,并备注卡住的部分。

Docker是什么?

一个可以轻松创建虚拟环境的工具。相较于VirtualBox等软件,它更轻便和高速。

安装

首先安装 Docker 社区版。

    • Install Docker Desktop for Mac

Install Docker Desktop for Windows

Docker Toolbox overview
Windows10 Home Edition では、toolboxも必要でした。

安装完成后,启动Docker并从终端进行确认。

$ docker -v
Docker version 18.09.2, build 6247962

基本的组成

这是一个简略的结构图。

alt

Docker容器是基于Docker镜像创建的。Docker容器是虚拟环境。
可以通过获取事先在DockerHub准备好的Docker镜像,或者通过构建自己创建的Dockerfile文本文件来创建Docker镜像。

创建一个容器并尝试通过浏览器访问。

首先需要确认图像和容器的存在。但是目前两者都不存在。

$ docker images
REPOSITORY  TAG IMAGE ID  CREATED SIZE

$ docker ps -a
CONTAINER ID  IMAGE COMMAND CREATED STATUS  PORTS NAMES

创建容器。

$ docker run --name myNginx -d -p 8080:80 nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
fc7181108d40: Pull complete 
d2e987ca2267: Pull complete 
0b760b431b11: Pull complete 
Digest: sha256:96fb261b66270b900ea5a2c17a26abbfabe95506e73c3a3c65869a6dbe83223a
Status: Downloaded newer image for nginx:latest
259abccb75f8af516fc5ff31a29cee018e28d42d654f830302d1d3c0dda4146e

-name(名前): コンテナの名前

-d(デタッチド): バックグラウンドで実行

-p(ポート): コンテナのポートをホスト側に公開


再次检查镜像和容器。Docker镜像已被下载并且容器已被创建和启动。

$ docker images
REPOSITORY  TAG     IMAGE ID      CREATED     SIZE
nginx       latest  f68d6e55e065  4 days ago  109MB

$ docker ps
CONTAINER ID  IMAGE   COMMAND                  CREATED             STATUS                        PORTS                  NAMES
259abccb75f8  nginx   "nginx -g 'daemon of…"   58 seconds ago      Up 57 seconds                 0.0.0.0:8080->80/tcp   myNginx

当您通过浏览器访问 http://localhost:8080/ 时,页面就会显示出来。

Welcome to nginx!
...

检查集装箱的运作是否正常。

$ docker ps

停止容器

$ docker stop {CONTAINER ID}

如果不需要的话,将Docker镜像和Docker容器不断积累进行删除。

删除容器

$ docker rm {CONTAINER ID}

删除图像

$ docker rmi {IMAGE ID}

Dockerfile からの Build

Dockerfile リファレンス

使用Dockerfile文件创建文件。

FROM centos:7
RUN yum update -y 
RUN yum install -y ...
...

移动到包含 Dockerfile 的目录并进行构建。

$ cd {path to Dockerfile}
$ docker build 

请见下述中文本地化版本:参考

    • docker-docs-ja 17.06.Beta

 

    さくらのナレッジ Docker入門

下面的内容还没有整理。


Docker的IP地址

$ docker-machine env
$ docker-machine ip

创建容器

$ docker run -it ubuntu

访问容器

要访问正在运行的容器,请使用exec命令。

コンテナの停止・削除

$ docker stop $(docker ps -q)
$ docker rm $(docker ps -q -a)

イメージの削除

$ docker rmi $(docker images -q)

docker-compose

# 起動
# -d でコンテナをデーモン化
$ docker-compose up -d

# 停止
$docker-compose down

WordPress -> WordPress是一个开源的内容管理系统。

使用 Docker Compose

./docker-compose.ymlを作成する

  version: '3.1'

  services:
    # mysql ※ 5.7はダメ(2019.06.07)
    db:
      image: mysql:5.6
      container_name: mysql
      environment:
        MYSQL_ROOT_PASSWORD: wwcom999999
        MYSQL_DATABASE: wordpress
        MYSQL_USER: wordpress
        MYSQL_PASSWORD: wordpress
    # wordpress
    wordpress:
      image: wordpress:latest 
      restart: always
      container_name: wp 
      ports:
        - "8080:80"
      depends_on:
        - db
      volumes:
        - ./var/www/html:/var/www/html
      environment:
        WORDPRESS_DB_HOST: db:3306
        WORDPRESS_DB_NAME: wordpress
        WORDPRESS_DB_USER: wordpress
        WORDPRESS_DB_PASSWORD: wordpress
    1. 创建用于安装的目录

 

    1. 创建容器所需的目录,以便可以从主机编辑文件。

$ mkdir -p ./var/lib/www

初始化

$ docker-compose up -d

确认IP地址
为了通过浏览器访问,要确定Docker的IP地址。

$ docker-machine ip
192.168.99.100

通过浏览器访问192.168.99.100:8080。

    • vmware toolbox の設定

 

    • Oracle VM VirtualBoxマネージャーから以下を開く

設定 > ネットワーク > 高度 > ポートフォワーディング

以下の設定を追加する。

ホストポート:80
ゲストポート:80

其他

    • 停止

$ docker-compose stop

再開

$ docker-compose start

停止と削除

$ docker-compose down

確認

$ docker-compose ps

## プラグイン

welcart
)

广告
将在 10 秒后关闭
bannerAds