centos中拉取postgre
新搭建好的linux服务器环境,docker也配置好了。
第一步,下载postgre
docker pull postgres:11
这里的版本号自己按照自己的需要来获取。
然而实际上没那么顺利,直接报错,下载不下来。
直接查了下,
问题原因 :该命令默认从docker远端镜像仓库中拉取镜像,但由于远端仓库的服务器是在国外,我们国内有的用户很可能都访问不
解决:使用国内镜像 daocloud镜像加速器
该方法需要配置加速器的镜像地址:register.mirror
Linux中使用命令:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d1d9aef0.m.daocloud.io
该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同
然后再次执行
可以执行成功了
docker run --name postgres11 -e POSTGRES_PASSWORD=password -p 5432:5432 -v /var/lib/postgresql/data/pgdata:/var/lib/postgresql/data/pgdata -d docker.io/postgres:11
继续执行运行postgre,发现这个密码就是password。。。。我还以为是个啥呢。
解释:
run,创建并运行一个容器;
--name,指定创建的容器的名字;
-e POSTGRES_PASSWORD=password,设置环境变量,指定数据库的登录口令为password;
-p 54321:5432,端口映射将容器的5432端口映射到外部机器的54321端口;
-d postgres:9.4,指定使用postgres:9.4作为镜像。
-v /var/lib/postgresql/data/pgdata:/var/lib/postgresql/data/pgdata,指定挂载宿主机目录作为数据目录,不然容器删掉,数据也就不在了。
注意:
postgres镜像默认的用户名为postgres,
登陆口令为创建容器是指定的值。
运行成功