第2次实践作业

使用Dockerfile文件实现自定义镜像

一、实现一个自定义的web容器服务

0.题目要求

推荐apache或nginx,要求标明镜像作者信息,安装必要的工具以方便维护;设定你自己的web存放目录,安全起见,请将默认的监听端口80更改为你自定义的端口,并且声明暴露的端口,容器启动时,能直接进入web代码的存放目录。

我采用的是CentOS7+nginx

1.default.conf

这是nginx的配置文件

charset utf-8;
server {
    listen       2426;
    server_name  localhost;
    location / {
        root   /usr/share/nginx/mydir;
        index  index.html index.htm;
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/mydir;
    }
}

1)listen是监听端口,默认是80,这里修改为我学号后四位2426。
2)root指定了我们网页资源文件存放的目录,默认为/usr/share/nginx/html,这里我们将他指定为我自己目录/usr/share/nginx/mydir,这样启动时候就会默认到我的目录下打开index.html

2.nginx.repo

用于yum配置nginx官方源来安装nginx
可以在nginx官网的documents中(http://nginx.org/en/linux_packages.html#RHEL-CentOS)查看到这个配置方法

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

3.index.html

将要展示网页
内容随意,只要命名为index.html即可

<!DOCTYPE html>
<html>
    <head>
        <title>031702426Nginx</title>
    </head>
    <body>
        <h1>朱庆章</h1>
        <h1>031702426</h1>
        <h1>Nginx</h1>
    </body>
</html>

4.Dockerfile

#Dockerfile
FROM centos:centos7

#MAINTAINER 维护者信息
MAINTAINER ZhuQingzhang031702426

#Dockerfile是docker的配置文件
#nginx.repo容器安装nginx的yum镜像
ADD default.conf /etc/nginx/conf.d/
ADD nginx.repo /etc/yum.repos.d/
ADD index.html /usr/share/nginx/mydir/

#RUN执行以下命令
RUN yum install -y nginx

#EXPOSE 暴露端口
EXPOSE 2426

#CMD 运行以下命令,daemon off后台运行,否则启动完就自动关闭
CMD ["/usr/sbin/nginx", "-g","daemon off;"]

5.build image

将上面所有四个文件存放到我主目录下的WorkPath文件夹中
(default.conf、nginx.repo、index.html、Dockerfile)

cd WorkPath/

进入工作目录

docker build -t nginx_zqz .

注意最后有个点,代表使用当前路径的 Dockerfile 进行构建

这样就开始 build 了

输出

kingdom@kingdom-ThinkPad-T470p:~/WorkPath$ docker build -t nginx_zqz .
Sending build context to Docker daemon  53.25kB
Step 1/8 : FROM centos:centos7
 ---> 5e35e350aded
Step 2/8 : MAINTAINER ZhuQingzhang031702426
 ---> Running in 87af89b7374e
Removing intermediate container 87af89b7374e
 ---> 5766b04652bc
Step 3/8 : ADD default.conf /etc/nginx/conf.d/
 ---> 8bff7cc65be0
Step 4/8 : ADD nginx.repo /etc/yum.repos.d/
 ---> 5ada3f731c58
Step 5/8 : ADD index.html /usr/share/nginx/mydir/
 ---> 0cbc75582c8f
Step 6/8 : RUN yum install -y nginx
 ---> Running in 996d4111f15d
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.16.1-1.el7.ngx will be installed
--> Processing Dependency: openssl >= 1.0.2 for package: 1:nginx-1.16.1-1.el7.ngx.x86_64
--> Running transaction check
---> Package openssl.x86_64 1:1.0.2k-19.el7 will be installed
--> Processing Dependency: make for package: 1:openssl-1.0.2k-19.el7.x86_64
--> Running transaction check
---> Package make.x86_64 1:3.82-24.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch           Version                     Repository     Size
================================================================================
Installing:
 nginx           x86_64         1:1.16.1-1.el7.ngx          nginx         766 k
Installing for dependencies:
 make            x86_64         1:3.82-24.el7               base          421 k
 openssl         x86_64         1:1.0.2k-19.el7             base          493 k

Transaction Summary
================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 1.6 M
Installed size: 4.6 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/base/packages/openssl-1.0.2k-19.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for openssl-1.0.2k-19.el7.x86_64.rpm is not installed
--------------------------------------------------------------------------------
Total                                               12 kB/s | 1.6 MB  02:23     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-7.1908.0.el7.centos.x86_64 (@CentOS)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:make-3.82-24.el7.x86_64                                    1/3 
  Installing : 1:openssl-1.0.2k-19.el7.x86_64                               2/3 
  Installing : 1:nginx-1.16.1-1.el7.ngx.x86_64                              3/3 
warning: /etc/nginx/conf.d/default.conf created as /etc/nginx/conf.d/default.conf.rpmnew
----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Please subscribe to nginx-announce mailing list to get
the most important news about nginx:
* http://nginx.org/en/support.html

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  Verifying  : 1:make-3.82-24.el7.x86_64                                    1/3 
  Verifying  : 1:nginx-1.16.1-1.el7.ngx.x86_64                              2/3 
  Verifying  : 1:openssl-1.0.2k-19.el7.x86_64                               3/3 

Installed:
  nginx.x86_64 1:1.16.1-1.el7.ngx                                               

Dependency Installed:
  make.x86_64 1:3.82-24.el7            openssl.x86_64 1:1.0.2k-19.el7           

Complete!
Removing intermediate container 996d4111f15d
 ---> 6b1632e7aeba
Step 7/8 : EXPOSE 2426
 ---> Running in 3be6a08ed493
Removing intermediate container 3be6a08ed493
 ---> 1f9d81cd0e6e
Step 8/8 : CMD ["/usr/sbin/nginx", "-g","daemon off;"]
 ---> Running in 3f5e0855ca24
Removing intermediate container 3f5e0855ca24
 ---> 25bb06e256ce
Successfully built 25bb06e256ce
Successfully tagged nginx_zqz:latest
docker images

列出所有镜像

docker inspect <imageID>

查看镜像信息

kingdom@kingdom-ThinkPad-T470p:~$ docker inspect 25bb06e256ce
[
    {
        "Id": "sha256:25bb06e256ce41f8ea29d6979f7cb0a77a6651c0128b7dc55fed444105c21f5c",
        "RepoTags": [
            "nginx_zqz:latest"
        ],
        "RepoDigests": [],
        "Parent": "sha256:1f9d81cd0e6e135c6e9bc592a9455c44e2c3d5787e3f1fb8753df71ed8ed200b",
        "Comment": "",
        "Created": "2020-04-21T14:02:12.791732249Z",
        "Container": "3f5e0855ca24594150871773b101d6e1b31116efad2968728cc83995955c3ae2",
        "ContainerConfig": {
            "Hostname": "3f5e0855ca24",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "2426/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"/usr/sbin/nginx\" \"-g\" \"daemon off;\"]"
            ],
            "Image": "sha256:1f9d81cd0e6e135c6e9bc592a9455c44e2c3d5787e3f1fb8753df71ed8ed200b",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20191001",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "DockerVersion": "19.03.8",
        "Author": "ZhuQingzhang031702426",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "2426/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
            ],
            "Cmd": [
                "/usr/sbin/nginx",
                "-g",
                "daemon off;"
            ],
            "Image": "sha256:1f9d81cd0e6e135c6e9bc592a9455c44e2c3d5787e3f1fb8753df71ed8ed200b",
            "Volumes": null,
            "WorkingDir": "",
            "Entrypoint": null,
            "OnBuild": null,
            "Labels": {
                "org.label-schema.build-date": "20191001",
                "org.label-schema.license": "GPLv2",
                "org.label-schema.name": "CentOS Base Image",
                "org.label-schema.schema-version": "1.0",
                "org.label-schema.vendor": "CentOS"
            }
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 319305141,
        "VirtualSize": 319305141,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/cc7e05dd927065a00cc953154c1226f801cde6a5e08d56ce9132042883694ce3/diff:/var/lib/docker/overlay2/cef7bfb3c12e5533a01509f27c7b15bdc3520752b7b625b69bd296f04da20530/diff:/var/lib/docker/overlay2/9fd2b0f6af4509a075aeaa69b92d16da48e2c36da982decc28ec019f92eead17/diff:/var/lib/docker/overlay2/55b0d888a85d75105b00260257c725e2052b3f5b570addb1f68b31a942490284/diff",
                "MergedDir": "/var/lib/docker/overlay2/881f957306c77455c7fe189233e3850b8c85d85be774c01bc5e0c385385497d0/merged",
                "UpperDir": "/var/lib/docker/overlay2/881f957306c77455c7fe189233e3850b8c85d85be774c01bc5e0c385385497d0/diff",
                "WorkDir": "/var/lib/docker/overlay2/881f957306c77455c7fe189233e3850b8c85d85be774c01bc5e0c385385497d0/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:77b174a6a187b610e4699546bd973a8d1e77663796e3724318a2a4b24cb07ea0",
                "sha256:378462c8ac8885954d474c85ce409adc15e343fed3aa29d764d13a9e4dc4d96b",
                "sha256:8b144d3dfc59424617b6a3383b8abdc6f0602dc2501a5cf84b8ae5819533a832",
                "sha256:a1bff4f1c61d5f8d09385e56e6df4d63f87aebbd05c363ffc042a26a93a9fe13",
                "sha256:60d044f12d742558f5104ccda2cf7df55f3bda3adb18e22ba36393540fde6080"
            ]
        },
        "Metadata": {
            "LastTagTime": "2020-04-21T22:02:13.235414357+08:00"
        }
    }
]

6.运行和查看

docker run -dit -p 2426:2426 nginx_zqz

启动容器

docker ps -a

查看容器运行情况

curl 127.0.0.1:2426

使用terminal访问我主页

然后使用浏览器访问我的主页

7.遇到的问题

一开始,网页访问127.0.0.1:2426时,中文内容显示乱码。
然后我在default.conf
加入一行

charset utf-8;

就可以正确编码了
然后进入到/usr/sbin目录下

./nginx -s reload

重启nginx生效

这题主要难度不在Dockerfile,如果熟悉Nginx的话应该做的很快

二、实现一个自定义的数据库容器服务

0.题目要求

可选择Mysql,Mariadb等,要求标明镜像作者信息,为了方便维护,需要能够查看容器内的配置信息,包括但不限于网络、应用配置文件等。在环境变量中设置好数据库的root密码且不允许空密码登录,创建一个测试数据库,指定用户名和密码

参考链接
将以下四个文件放到主目录WorkPath文件夹

1.Dockerfile

FROM mysql:5.7

#维护者信息
MAINTAINER ZhuQingzhang031702426

#不允许免密登录
ENV MYSQL_ALLOW_EMPTY_PASSWORD no

#将所需文件放到容器中
COPY setup.sh /mysql/setup.sh
COPY schema.sql /mysql/schema.sql
COPY privileges.sql /mysql/privileges.sql
 
#设置容器启动时执行的命令
CMD ["sh", "/mysql/setup.sh"]

2.setup.sh

#!/bin/bash
set -e
 
#查看mysql服务的状态,方便调试,这条语句可以删除
echo `service mysql status`
 
echo '1.启动mysql....'
#启动mysql
service mysql start
sleep 3
echo `service mysql status`
 
echo '2.开始导入数据....'
#导入数据
mysql < /mysql/schema.sql
echo '3.导入数据完毕....'
 
sleep 3
echo `service mysql status`
 
#重新设置mysql密码
echo '4.开始修改密码....'
mysql < /mysql/privileges.sql
echo '5.修改密码完毕....'
 
#sleep 3
echo `service mysql status`
echo `mysql容器启动完毕,且数据导入成功`
 
tail -f /dev/null

3.schema.sql

-- 创建数据库
create database `docker_mysql` default character set utf8 collate utf8_general_ci;
 
use docker_mysql;
 
-- 建表
DROP TABLE IF EXISTS test;
 
CREATE TABLE test (
 `id` varchar(10) NOT NULL,
 `score` int
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
-- 插入数据
INSERT INTO test (`id`, `score`)
VALUES
  ('031702426',100);

4.privileges.sql

use mysql;
select host, user from user;
-- 因为mysql版本是5.7,因此新建用户为如下命令:
create user kingdom identified by '123456';
-- 将docker_mysql数据库的权限授权给创建的用户kingdom,密码为123456:
grant all on docker_mysql.* to kingdom@'%' identified by '123456' with grant option;
-- 这一条命令一定要有:
flush privileges;

5.build image

先cd到WorkPath

docker build -t mysql_zqz .

开始build

kingdom@kingdom-ThinkPad-T470p:~/WorkPath$ docker build -t mysql_zqz .
Sending build context to Docker daemon  53.76kB
Step 1/7 : FROM mysql:5.7
 ---> 273c7fcf9499
Step 2/7 : MAINTAINER ZhuQingzhang031702426
 ---> Running in 503def9323bf
Removing intermediate container 503def9323bf
 ---> 0746a5e33948
Step 3/7 : ENV MYSQL_ALLOW_EMPTY_PASSWORD no
 ---> Running in d5c793ed718e
Removing intermediate container d5c793ed718e
 ---> 4abbbc23c736
Step 4/7 : COPY setup.sh /mysql/setup.sh
 ---> 60ccc0169b0a
Step 5/7 : COPY schema.sql /mysql/schema.sql
 ---> 10d8c406fbf9
Step 6/7 : COPY privileges.sql /mysql/privileges.sql
 ---> 5cab43a4b03a
Step 7/7 : CMD ["sh", "/mysql/setup.sh"]
 ---> Running in 971eb396254f
Removing intermediate container 971eb396254f
 ---> 5e8f407f310f
Successfully built 5e8f407f310f
Successfully tagged mysql_zqz:latest

docker images

查看所有镜像

docker inspect 5e8f407f310f

查看镜像信息

kingdom@kingdom-ThinkPad-T470p:~$ docker inspect 5e8f407f310f
[
    {
        "Id": "sha256:5e8f407f310fb4f1e0a2e7f8c3f9e5cf3b8077273d8dea728efc93f982e04731",
        "RepoTags": [
            "mysql_zqz:latest"
        ],
        "RepoDigests": [],
        "Parent": "sha256:5cab43a4b03ab4065c6635fa255b6ffe7db07278a5560c4e9444784b270350d1",
        "Comment": "",
        "Created": "2020-04-21T17:14:26.237787023Z",
        "Container": "971eb396254f7aa3586b00340a5c9cd2a151c6f9fbc1694fa7baecffc8404b15",
        "ContainerConfig": {
            "Hostname": "971eb396254f",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "3306/tcp": {},
                "33060/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.12",
                "MYSQL_MAJOR=5.7",
                "MYSQL_VERSION=5.7.29-1debian10",
                "MYSQL_ALLOW_EMPTY_PASSWORD=no"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) ",
                "CMD [\"sh\" \"/mysql/setup.sh\"]"
            ],
            "Image": "sha256:5cab43a4b03ab4065c6635fa255b6ffe7db07278a5560c4e9444784b270350d1",
            "Volumes": {
                "/var/lib/mysql": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },
        "DockerVersion": "19.03.8",
        "Author": "ZhuQingzhang031702426",
        "Config": {
            "Hostname": "",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "3306/tcp": {},
                "33060/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "GOSU_VERSION=1.12",
                "MYSQL_MAJOR=5.7",
                "MYSQL_VERSION=5.7.29-1debian10",
                "MYSQL_ALLOW_EMPTY_PASSWORD=no"
            ],
            "Cmd": [
                "sh",
                "/mysql/setup.sh"
            ],
            "Image": "sha256:5cab43a4b03ab4065c6635fa255b6ffe7db07278a5560c4e9444784b270350d1",
            "Volumes": {
                "/var/lib/mysql": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "docker-entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": null
        },
        "Architecture": "amd64",
        "Os": "linux",
        "Size": 455220307,
        "VirtualSize": 455220307,
        "GraphDriver": {
            "Data": {
                "LowerDir": "/var/lib/docker/overlay2/547e0efb1fca26bfdb026374a66facba2d26109cbe8befe605cf6c8a459b6a2f/diff:/var/lib/docker/overlay2/41d648303a5782a2ecf5f7c1a7aadcb4f14a0daa0d63d62c0f2586bf3f58b633/diff:/var/lib/docker/overlay2/0cfcd1236b40e5ef0e1c908838e6239fdccb0bda1d506d3e605fe6305df524b7/diff:/var/lib/docker/overlay2/5103380a07ed13bcf1ba639d5e9a09061f284fb795760c9a317d8e4150078ad2/diff:/var/lib/docker/overlay2/b4f116ca7160c3e9ce0a8f9b4b4d8136fff6b361c3f9721cb576c917c9671686/diff:/var/lib/docker/overlay2/7b6fd50f4ffa0b209b1c338b59d942c1d92f47049eafa81b43b92f0f285fdb5b/diff:/var/lib/docker/overlay2/1a4b189c53e9880cf423de2ef591923e52b986ae96c304868922093a1f609041/diff:/var/lib/docker/overlay2/eb565ef0da593105dcd16c90d9fef5dc024d9a9fe3758cb1b4a2596cfb11ea38/diff:/var/lib/docker/overlay2/5e9e495101f4ce18937a1a2380e40f4509df25eb09a8561137eec7819b5064a1/diff:/var/lib/docker/overlay2/e6489925ed4a25e7f6eaa6b257f3307090b27996799f3a5bc48b9fb79eb2b7c8/diff:/var/lib/docker/overlay2/f17720baba9d67043a374ceeb2cbe8eb5175e866679fb024bc41652b23ad01ec/diff:/var/lib/docker/overlay2/8d256931016d75d9db3b81747e09bb6dc9eca7662444eafeec83528d24a9cff5/diff:/var/lib/docker/overlay2/f92c06b029cb6a5387acdcff40b5756b8e9b58192529931fafe29d3bcec9a2b2/diff",
                "MergedDir": "/var/lib/docker/overlay2/6bead5e5b7b15ac32310bb6c27328aba23387ef2ce46fbfc7e36bb2a722b117e/merged",
                "UpperDir": "/var/lib/docker/overlay2/6bead5e5b7b15ac32310bb6c27328aba23387ef2ce46fbfc7e36bb2a722b117e/diff",
                "WorkDir": "/var/lib/docker/overlay2/6bead5e5b7b15ac32310bb6c27328aba23387ef2ce46fbfc7e36bb2a722b117e/work"
            },
            "Name": "overlay2"
        },
        "RootFS": {
            "Type": "layers",
            "Layers": [
                "sha256:b60e5c3bcef2f42ec42648b3acf7baf6de1fa780ca16d9180f3b4a3f266fe7bc",
                "sha256:746ef614d66131a14736cc3e9b10a4c33bfe246bee826802af3d1c55f4787faf",
                "sha256:478bf6a73d060e527285d1cb3428a61b068ac4e23d3b44aae944ccf6a5438ff5",
                "sha256:246ad53299e099d265c24fe63a0c8564838a58f1408e1bf0915aa969704f005f",
                "sha256:f2b1703888edba3399b82f9ebdd1c98e729f05b6cb5fd8c5d8f85af0b73589ad",
                "sha256:c73d9f519696cf503017bd93185b0df9e4c97539d9bffb7e861e1f419e074032",
                "sha256:c4a52d4531b78de76b169a5312c023fc6bb856b1603eeb2748ac3e8622999273",
                "sha256:449fcf310ea0173e3d42917ee1a81721b5c939bb028a4d16d7ec80565ae40865",
                "sha256:af65e8376fa3402efd8626ae663b3c31f0cabdc918928c0f59e73062773435a4",
                "sha256:6ddaaf3458aefd07ed5a1bd4874d2485cfc953c1bdd302f2169dfd8397cbddfd",
                "sha256:4c2e7024d97a1f540997293e89527b2d21f992b309a4532b2394553e88c36078",
                "sha256:30852b40a7342fa2056e44b5872c7e71ccaf6d4253e50a4c5939a79ea278a04d",
                "sha256:e5d38b51e926acbaa0661ff62668658706d9f5cc7df27a07bcb5274f37c68dd3",
                "sha256:51e099d1c670c8d334b8a98f7f1047346bf503a258d1c0953c5762b561ac47fd"
            ]
        },
        "Metadata": {
            "LastTagTime": "2020-04-22T01:14:26.706513125+08:00"
        }
    }
]

6.运行和查看

docker run -d -p 13306:3306 mysql_zqz

运行容器,映射13306端口

docker ps -a

查看所有容器运行情况

docker exec -it c30e8b185132 /bin/bash

命令行进入容器

mysql -u kingdom -p

使用kingdom账户登录mysql,密码是123456

use docker_mysql;

连接到docker_mysql这个数据库

show tables;

显示这个数据库中所有的表格

select * from test;

选择test表的所有内容

最后使用exit来退出

7.这部分没有遇到问题

posted @ 2020-04-22 16:38  Jorgensen  阅读(640)  评论(2编辑  收藏  举报
#site_nav_under { display: none; } .c_ad_block, .ad_text_commentbox { display: none; margin: 0; padding: 0; } #ad_under_google { height: 0; overflow: hidden; } #ad_under_google a { display: none; }