linux_安装应用
安装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 images
查找镜像:docker search mysql
拉取镜像:docker pull mysql
删除镜像:docker rmi cb17788b78d8
删除所有镜像: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
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 -uroot -p
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
安装redis
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