docker_安装应用

安装docker

1. 查看yum 源 cd /etc/yum.repos.d 里面有个 CentOS-Base.repo

2. 安装:yum install -y docker

3. 若报错

Error: docker-ce conflicts with 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64
Error: docker-ce-cli conflicts with 2:docker-1.13.1-209.git7d71120.el7.centos.x86_64

是有重复安装的包,需要卸载:

yum remove -y docker-ce

yum remove -y docker-ce-cli

4. 重新安装:yum install -y docker

5. 安装成功,查看版本:docker version

6. 启动docker:

systemctl start docker
systemctl enable docker

7. 配置docker镜像加速
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
这条命令其实就是改了docker的一个配置文件里面的注册镜像地址, 可以查看一下
cat /etc/docker/daemon.json
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"],}
需要改成(去掉多余的,):
{"registry-mirrors": ["http://f1361db2.m.daocloud.io"]}
8. 保存后重启:systemctl restart docker

9. 查看启动后的进程:ps -ef|grep docker 有两个进程。

10. 关闭docker服务:systemctl stop docker

docker search mysql

vi /etc/docker/daemon.json 修改注册镜像地址

systemctl daemon-reload

systemctl restart docker 修改后重启容器引擎

docker info 检查地址是否改变

 

常用命令

查看已有镜像:docker images

查找镜像:docker search mysql

拉取镜像:docker pull mysql

删除镜像:docker rmi 17788b78d8:v1.2.3

删除所有镜像:docker rmi $(docker images -q)

当要删除的iamges和其他的镜像有关联而无法删除时可通过 -f 参数强制删除:docker rmi -f $(docker images -q)

查看镜像详细信息:docker inspect mysql

 

查看已有容器: docker ps -a

创建容器:docker run 镜像名:标签名 cal

                  docker run -it 镜像名:标签名 /bin/bash   -t让Docker分配一个伪终端并绑定在容器的标准输入上,-i让容器的标准输入保持打开。

将一个已经终止的容器启动:docker start fae222fef978

查看日志:docker logs -f --tail 200 04b56a059267

停止所有容器:docker stop $(docker ps -a -q)

删除所有容器:docker rm $(docker ps -a -q)  删除前需先停止

镜像目录:cd /var/lib/docker/containers

进入容器:docker exec -it mysql bash

 

 

 

使用docker安装mysql https://www.cnblogs.com/jiefu/p/12204555.html

docker images

docker search mysql
docker pull mysql

docker images

mkdir /root/docker/mysql

cd /root/docker/mysql

echo $PWD

docker run --name mysql --privileged=true -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306  -d -i docker.io/mysql:latest

docker ps -a

docker logs -f --tail 200 04b56a059267

docker exec -it mysql bash

mysql -u root -p

select version();

select now();

show databases;

use mysql;

show tables;

 

开启远程访问权限:

进入SQL命令行

use mysql;

select host,user from user;

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

flush privileges;

即可用客户端连接了。

 

 

使用docker 安装 Postgres https://blog.csdn.net/lizhong2008/article/details/112759295

查看远程仓库镜像有哪些版本 https://hub.docker.com/r/library/ 然后搜索要安装的应用,进入后点Tags页签

docker search postgres:12

docker pull docker.io/postgres

报错 net/http: TLS handshake timeout,修改 vi /etc/docker/daemon.json 加入 "https://registry.docker-cn.com" 后重启docker:systemctl restart docker

继续安装 docker pull docker.io/postgres

docker images

docker run --name postgres --privileged=true -e POSTGRES_PASSWORD=123456 -e TZ=PRC -p 5432:5432 -v $PWD/data:/var/lib/postgresql/data -d docker.io/postgres:latest

参数 -e TZ=PRC 时区-中国  --privileged=true 特殊权限

docker ps -a

docker exec -it a041212f5995 bash

 以管理员权限进入容器

docker exec -u 0 -it a041212f5995 /bin/bash
alter user postgres with password '123456';

psql -U postgres -d postgres

show now();

连接远端库 psql -U postgres -h 192.168.228.130 -d postgres

 

docker 安装 GreenPlum 

docker search greenplum
docker pull docker.io/datagrip/greenplum
docker run --name gpdb -d -p 5432:5432 docker.io/datagrip/greenplum:latest
docker exec -it 739a214883c4 bash
cd /usr/local/greenplum-db
source greenplum_path.sh
su - gpadmin
psql

查看当前用户 select current_user;  或 select current_role;

CREATE DATABASE jgfdb;
CREATE ROLE jgf WITH LOGIN PASSWORD '密码';
GRANT ALL PRIVILEGES ON DATABASE jgfdb TO jgf;
set role jgf;

查看当前数据库 select current_database();

切换数据库 \c jgfdb

create table jgftable(
id int primary key,
name varchar(32),
date_time date,
input_time timestamp
) distributed by (id);

insert into jgftable values(1, 'j1', '2024/01/01 13:22:12'::date, now());

退出psql命令 \q

 

安装redis https://www.cnblogs.com/laity353/p/14632241.html

sudo docker run -p 6379:6379 --name redis -v $PWD/data/redis.conf:/etc/redis/redis.conf -v $PWD/data:/data -d docker.io/redis:latest /etc/redis/redis.conf --appendonly yes

启动失败,查看日志报错: redis find: '.': Permission denied ,处理办法:

临时关闭
getenforce
setenforce 0
getenforce
永久关闭
vi /etc/sysconfig/selinux
将SELINUX=enforcing 改为 SELINUX=disabled

          docker exec -it redis /bin/bash

          redis-server --version

          redis-cli --version

进入redis客户端命令行:redis-cli -h host -p port -a password

redis-cli -h 192.168.228.130 -p 6379 -a 123456 (进入redis镜像后执行)

redis-cli 进入本机redis命令行

info 

ping  返回 pong

若提示(error) NOAUTH Authentication required. 需要输入密码:auth 123456

若提示 Could not connect to Redis No route to host 需要关闭防火墙或者开放端口:

systemctl stop firewalld.service
systemctl status firewalld.service
systemctl start firewalld.service

firewall-cmd --add-port=6379/tcp --permanent
firewall-cmd --add-port=6380/tcp --permanent
firewall-cmd --add-port=16379/tcp --permanent  
firewall-cmd --reload

#查看开放的端口
$ firewall-cmd --list-ports
#查询6379端口是否开放
$ firewall-cmd --query-port=6379/tcp
#移除6379端口
firewall-cmd --permanent --remove-port=6379/tcp

根据端口查进程

netstat -tunple | grep 6379

 

posted @ 2022-03-13 17:14  jgf  阅读(134)  评论(0)    收藏  举报