Ubuntu 18.04 LTS 常用软件安装杂记 (2)

正常情况下,容器运行,终端应该会有类似如下信息输出。

esofar@ubuntu:~$ docker run hello-world Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. ...

但是我的机器在运行时有如下信息输出,大概是说客户端连接不到 Docker 的守护进程。

esofar@ubuntu:~$ sudo docker run hello-world docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See 'docker run --help'.

通过systemctl status docker确认我的机器是因为 Docker 守护进程拒绝启动导致的。

esofar@ubuntu:~$ systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2018-12-16 15:35:37 CST; 10min ago Docs: https://docs.docker.com Process: 21333 ExecStart=http://www.likecs.com/usr/bin/dockerd -H unix:// (code=exited, status=1/FAILURE) Main PID: 21333 (code=exited, status=1/FAILURE) ...

后面在这个 中找到了问题答案,竟然是是因为我挂了 VPN, 干扰了 Docker 守护进程默认监听的Unix域套接字,而容器中的进程是通过它与 Docker 守护进程进行通信。关掉 VPN,systemctl restart docker重启服务,解决。

最后再补充一点,可以通过如下命令将当前用户添加到 Docker 组,避免每次敲命令都需要在docker前加sudo。

sudo usermod -aG docker ${USER}

即时应用修改,避免重启机器。

su - ${USER}

如果您在安装过程中遇到其他问题,请参考 官方文档 和 Issues For Linux 解决。

安装 MySQL Server

既然已经安装了 Docker ,也就用不着传统方式安装 MySQL 数据库了。

第一步,通过docker search命令搜索 Docker Hub 中的 mysql 镜像。

esofar@ubuntu:~$ docker search mysql NAME DESCRIPTION STARS OFFICIAL AUTOMATED mysql MySQL is a widely used, open-source relation… 7611 [OK] mariadb MariaDB is a community-developed fork of MyS… 2472 [OK] mysql/mysql-server Optimized MySQL Server Docker images. Create… 573 [OK] zabbix/zabbix-server-mysql Zabbix Server with MySQL database support 156 [OK] hypriot/rpi-mysql RPi-compatible Docker Image with Mysql 102 ......

我们选择第一个 Stars 数最多的官方镜像,拉取到本地。

docker pull mysql

上述命令默认下载 MySQL 最新版,下载指定版本可以指定:tag,mysql镜像具体有哪些:tag可用,请参阅
https://hub.docker.com/_/mysql?tab=tags。

docker pull mysql:5.6

等待下载完成后,我们可以通过docker images命令确认本地镜像列表是否已经存在mysql镜像。

esofar@ubuntu:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql latest f991c20cb508 5 weeks ago 486MB hello-world latest 4ab4c602aa5e 3 months ago 1.84kB

镜像下载完毕,接下来就可以开启一个mysql服务实例。

docker run --name esofar-mysql -e MYSQL_ROOT_PASSWORD=sql2018 -d mysql:tag

esofar-mysql 是您要分配给容器的名称;sql2018是为mysql实例 root 用户设置的密码;:tag是指定所需mysql版本的标记,最新版可忽略。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsfppj.html