南溟丷

我想在那里最蓝的大海扬帆

0%

关于Dokcer的简单配置

记一下Docker的配置笔记。

安装

Macos

1
brew install docker

Docker-compose

1
2
3
4
5
yum -y install docker epel-release python-pip python-devel
pip install --upgrade pip
pip install more-itertools==5.0.0
pip install --ignore-installed requests
pip install docker-compose

服务

Mssql

下载Mssql

1
docker pull microsoft/mssql-server-linux

设置密码为1234qwer!,命名为Mssql端口映射到本机1433,挂载外部目录/Users/south/Docker/Mssql/到容器目录/Databases

1
docker run -it -v /Users/south/Docker/Mssql/:/Databases -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=1234qwer!' -e 'MSSQL_PID=Developer' -p 1433:1433 --name mssql -d microsoft/mssql-server-linux

Postgres

下载Postgres

1
docker pull postgres

挂载并安装。

1
docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres

Mysql

下载Mysql

1
docker pull mysql

挂载并安装。

1
docker run --name mysql -v ~/Docker/Mysql:/Mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.6

Oracle

下载Oracle

1
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

安装。

1
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

启动。

1
docker start oracle11g

进入。

1
docker exec -it oracle11g bash

切到root用户,密码helowin

1
su root

配置环境变量。

1
vi /etc/profile

最后加上。

1
2
3
4
5
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin

export PATH=$ORACLE_HOME/bin:$PATH

创建软连接。

1
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

切回Oracle用户。

1
su - oracle

打开Sqlplus

1
sqlplus /nolog

登陆。

1
conn /as sysdba

然后修改登录密码。

1
2
3
4
5
alter user system identified by system;
alter user sys identified by sys;
grant sysdba to system;
alter user system account unlock;
alter profile default limit password_life_time unlimited;

随便总结几个报错。

  • ORA-12514, TNS:listener does not currently know of service requested in connect descriptor.

    这个报错在使用Navicat连接数据库的时候发生,使用show parameter name;命令查看数据库的服务名,是service_names所对应的键值,然后在连接配置中修改。

  • ORA-01031: insufficient privileges.

    这个报错也在使用Navicat连接数据库的时候发生,我使用的是system连接数据库,使用select * from v$pwfile_users;命令查看允许远程登录数据库的用户,然后在连接配置中修改。

相关配置

创建用户。

1
create user root identified by root;

创建表空间。

1
create tablespace Electronic_Commerce_System datafile 'Electronic_Commerce_System.dbf' size 100m;

赋予空间。

1
alter user root default tablespace Electronic_Commerce_System;

权限。

1
grant create session,create table,create view,create sequence,create trigger,unlimited tablespace to root;

Zookeeper

1
docker run -d -p 2181:2181 -v ~/Docker/zookeeper/data/:/data/ --name=zookeeper --privileged zookeeper

Redis

1
docker run -d -p 6379:6379 -v ~/Docker/redis/data/:/data/ --name=redis --privileged redis

Elasticsearch

1
docker run -d -p 9200:9200 -p 9300:9300 -v ~/Docker/elasticsearch/data/:/data/ -e "discovery.type=single-node" --name elasticsearch --privileged elasticsearch:7.5.1

Activemq

1
docker run -d -p 61617:61616 -p 8162:8161 -v ~/Docker/activemq/data/:/data/ --name myactivemq --privileged webcenter/activemq

MongoDB

1
docker run -p 27017:27017 -v ~/Docker/mongodb/data/:/data/db --name mongodb -d mongo

开发环境

安装LAMP

1
docker pull tutum/lamp
1
docker run -v /Users/south/Docker/LAMP/:/var/www/html/ -p 8080:80 -p 3366:3306 --name lamp -d tutum/lamp

装个vim

1
apt-get update && apt-get install -y vim

系统

安装Kali

下载Kali

1
docker pull kalilinux/kali-linux-docker

安装Kali并挂载外部目录。

1
docker run -it -v /Users/south/Docker/Kali/:/root/Download kalilinux/kali-linux-docker /bin/bash

然后是关于DockerKali的配置。

终端输入如下命令打开。

1
vi /etc/apt/sources.list

然后我这里使用清华大学的源。

1
2
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free

更新Kali

1
apt-get update && apt-get upgrade && apt-get dist-upgrade

安装Kali工具。

1
apt-get install kali-linux-all

Ubuntu/Centos

1
docker run -it -v /document:/document -p 2333:2333 --name document -d ubuntu/centos

其他Docker命令

进入容器。

1
docker attach [NAME]/[CONTAINER ID]

启动容器。

1
docker start [NAME]/[CONTAINER ID]

停止容器

1
docker stop [NAME]/[CONTAINER ID]

强行停止容器。

1
docker kill [NAME]/[CONTAINER ID]

删除容器。

1
docker rm [NAME]/[CONTAINER ID]

删除镜像。

1
docker rmi [NAME]/[CONTAINER ID]

进入容器后exit退出不会关闭容器。

1
docker exec -it kali /bin/bash

从容器中复制出来文件。

1
docker cp container:/opt/testnew/file.txt /opt/test/

向容器中复制文件。

1
docker cp /opt/test/file.txt container:/opt/testnew/