学习Docker的过程就是安装各种镜像、环境搭建的过程。下面是常用Docker公共镜像的安装方式,记录下来,环境收藏~
下载镜像:
docker pull centos/mysql-57-centos7
创建容器:
docker run -di --name=mysql --restart=always -p 3306:3306 -e MYSQL_ROOT_PASSword=123456 centos/mysql-57-centos7
下载镜像:
docker pull redis
创建容器
docker run -di --name=redis --restart=always -p 6379:6379 -e requirepass=123456 redis
下载镜像:
docker pull mongo
创建容器:
docker run -di --name=tensquare_mongo --restart=always -p 27017:27017 mongo
nexus是maven、npm的私服仓库软件,在企业内部可以使用此系统安装私服,防止因网络缓慢、及其他问题导致的包无法下载问题。自己公司内的包可以上传至此仓库,配合使用。
下载镜像:
docker pull sonatype/nexus3
创建容器:
docker run -di --name nexus3
--restart=always
-p 8081:8081
-p 8082:8082
-p 8083:8083
-p 8084:8084
-p 8085:8085
-v /opt/nexus-data:/nexus-data
sonatype/nexus3
错误处理:
mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied
chown -R 200 /opt/nexus-data/
easy-mock是接口模拟工具,供前端开发使用。摆脱了后端接口未完成的情况。
下载镜像
docker pull blackcater/easy-moc
创建容器
docker run -d -p 7300:7300 --link mongodb:mongodb -v /opt/mock-config/:/easy-mock/config --name easymock blackcater/easy-mock
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose up -d
下载镜像
docker pull gogs/gogs
创建存储目录
mkdir -p /var/gogs
创建容器
docker run -di --name=gogs --restart=always -p 10022:22 -p 3000:3000 -v /var/gogs:/data gogs/gogs
重新安装时记得删除/var/gogs下文件,并赋予权限
http_port 改为3000 ,root_url改为dominIP:3080
下载镜像
docker pull docker.io/gitlab/gitlab-ce
创建容器
docker run -d -h gitlab --restart=always -p 2222:22 -p 18001:80 -p 8443:443 -v /docker/gitlab/config:/etc/gitlab -v /docker/gitlab/logs:/var/log/gitlab -v /docker/gitlab/data:/var/opt/gitlab --restart always --name gitlab gitlab/gitlab-ce:latest
密码123456789
拉取镜像
docker pull bestwu/ewomail
创建容器:
docker run -d -h mail.zdpx.com --restart=always -p 25:25 -p 109:109 -p 110:110 -p 143:143 -p 465:465 -p 587:587 -p 993:993 -p 995:995 -p 18002:80 -p 18003:8080 -v `pwd`/mysql/:/ewomail/mysql/data/ -v `pwd`/vmail/:/ewomail/mail/ -v `pwd`/ssl/certs/:/etc/ssl/certs/ -v `pwd`/ssl/private/:/etc/ssl/private/ -v `pwd`/rainloop:/ewomail/www/rainloop/data -v `pwd`/ssl/dkim/:/ewomail/dkim/ --name ewomail bestwu/ewomailserver
默认管理用户名:admin ewomail123
邮箱管理后台
http://192.168.4.188:18003 账号 admin 密码 ewomail123
有效于错误日志报10024端口错误
错误原因:10024端口跑的服务主要用于ewomail中反垃圾反病毒作用,然而docker镜像中没有集成,所以会无法接收到邮件。
content_filter = smtp-amavis:[127.0.0.1]:10024
receive_override_options = no_address_mAppings
拉取镜像:
docker pull sameersbn/bind
创建容器:
docker run --name bind -d --restart=always --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp --volume /srv/docker/bind:/data sameersbn/bind:latest
登录账户密码:root/password
拉取镜像
docker pull nginx
创建容器
docker run -d -p 80:80 --restart=always --name nginx nginx
拷贝配置:
docker cp -a nginx:/etc/nginx/ /docker/nginx/conf
停止并重启
docker stop nginx
docker rm nginx
重新运行挂载
docker run -p 80:80 --restart always --name nginx -v /docker/nginx/www:/www -v /docker/nginx/conf:/etc/nginx/ -v /docker/nginx/logs:/var/log/nginx -v /docker/nginx/wwwlogs:/wwwlogs -d nginx
重启
docker restart nginx
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
拉取镜像
docker pull registry
创建容器
docker run -di --restart=always --name=registry -p 5000:5000 registry
拉取镜像
docker pull jenkins
创建容器
docker run -d -p 18005:8080 -v /docker/jenkins:/var/jenkins_home --name jenkins --restart=always jenkins
docker run --name jenkins --user=root -p 18005:8080 -p 50000:50000 -v /docker/jenkins:/var/jenkins_home -d jenkins/jenkins:lts
jenkins换源:
以上的配置Json其实在Jenkins的工作目录中
$ cd {你的Jenkins工作目录}/updates #进入更新配置位置
$ vim default.json #这个Json文件与上边的配置文件是相同的
使用vim的命令,如下,替换所有插件下载的url
将文件中所有,
http://updates.jenkins-ci.org/download/
替换为
https://mirrors.tuna.tsinghua.edu.cn/jenkins/g
http://www.google.com/
替换为:
https://www.baidu.com/
拉取镜像
docker pull tomcat
创建容器
docker run -d --restart=always -v /docker/tomcat:/usr/local/tomcat/webapps --name=tomcat -p 18006:8080 tomcat
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
创建容器
#启动启动容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker start oracle11g
创建软链接
docker exec -it oracle11g bash
切换到root 用户下
su root
密码:helowin
编辑profile文件配置ORACLE环境变量
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换到oracle 用户
这里还要说一下,一定要写中间的内条 - 必须要,否则软连接无效
su - oracle
登录修改密码:
sqlplus /nolog
conn /as sysdba
alter user system identified by system;
alter user sys identified by sys;
也可以创建用户 create user test identified by test;
并给用户赋予权限 grant connect,resource,dba to test;
alter database mount;
#刷新下表
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
服务名:
helowinXDB
端口号1521
添加模式:
create user 用户名 identified by 口令[即密码];
docker volume create yapi-mongo
创建一个储存卷,用来专门存放yapi使用的mongodb的数据
为什么要独立出来,这是为了以后升级的着想,数据库保留,只要启动的时候关联一下就行了
docker run -d --name yapi-mongo -v yapi-mongo:/data/db -p 27017:27017 mongo
docker run -d --name yapi -p 3000:3000 --link yapi-mongo crper/yapi
这里比上面多的一个参数就是--link,用来使连个容器通讯的,
过程均可用docker logs 查看初始化的管理用户用户名密码