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

浙公网安备 33010602011771号