Docker 入门资料教程

国内镜像资源地址: https://registry.docker-cn.com

1. Docker 挂载Mongo

2. Docker 挂载Mysql 的问题

查看密码
docker run安装完成之后 安装docker logs [mysql 容器名称]

SET PASSWORD FOR ‘root‘@’localhost’ = PASSWORD(‘password123’);

创建新用户
mysql> CREATE USER ‘jack‘@’localhost’ IDENTIFIED BY ‘pwd123456’;
mysql> GRANT ALL PRIVILEGES ON . TO ‘jack‘@’localhost’ WITH GRANT OPTION;
mysql> CREATE USER ‘jack‘@’%’ IDENTIFIED BY ‘pwd123456’;
mysql> GRANT ALL PRIVILEGES ON . TO ‘jack‘@’%’
-> WITH GRANT OPTION;

修改MYSQL 默认字符集:
添加到my.cnf

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

Docker run with 环境变量和镜像配置

docker run -d -p 3306:3306 -e”MYSQL_USER=Zarc” -e”MYSQL_PASSWORD=pwd123456” -e”MYSQL_ROOT_PASSWORD=password123” -e”MYSQL_RANDOM_ROOT_PASSWORD=true” –name mysql01 mysql/mysql-server –character-set-server=utf8 –collation-server=utf8_general_ci

备注: : When this is true (which is its default state, unless MYSQL_ROOT_PASSWORD is set or MYSQL_ALLOW_EMPTY_PASSWORD is set to true), a random password for the server’s root user is generated when the Docker container is started

当这个MYSQL_RANDOM_ROOT_PASSWORD 为true 时 为root用户设置密码是没有作用的还是会生成随机的密码,设置为false 或者不加这个环境变量

挂载资料卷

#注意:需要先创建/docker/mysql/config/my.cnf文件和/docker/mysql/data文件夹
my.cnf如下

character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

用外部mount

docker run -d -p 3306:3306 –name mysql01 –mount type=bind,src=/docker/mysql/config/my.cnf,dst=/etc/my.cnf
–mount type=bind,src=/docker/mysql/data,dst=/var/lib/mysql
mysql/mysql-serverd

用外部volume

docker run -d -p 3306:3306 –restart always –name db-mysql -v =/docker/mysql/config/my.cnf:/etc/my.cnf -v=/docker/mysql/data:/var/lib/mysql mysql/mysql-server

外部Volume安装mongo on Cent OS
docker run -d -p 27017:27017 –name mongo01 -v /docker/mongo/config:/data/configdb -v /docker/mongo/db:/data/db mongo

外部Volume安装mongo on Cent OS //添加外部登录
docker run -d -p 27017:27017 –name mongo01 -v /docker/mongo/config:/data/configdb -v /docker/mongo/db:/data/db mongodb –auth

docker exec -it mongo01 mongo admin

db.createUser({ user: ‘jsmith’, pwd: ‘some-initial-password’, roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ] });
Deploy docker registry
本地运行registry仓库
docker run -d -p 5000:5000 –restart=always –name registry registry:2

本地registry - 可视化UI
docker run -d –name registry-web –link registry:registry -e ENV_DOCKER_REGISTRY_HOST=registry -e ENV_DOCKER_REGISTRY_PORT=5000 -p 8080:80 konradkleine/docker-registry-frontend:v2

带https证书 (请注意我们host上放证书的文件夹叫cert, not certs)

docker run -d \
–restart=always \
–name registry \
-v pwd/cert:/certs \
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/1_hub.jessetalk.cn_bundle.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/2_hub.jessetalk.cn.key \
-p 443:443 \
registry:2

创建密码文件
mkdir auth
docker run \
–entrypoint htpasswd \
registry:2 -Bbn testuser testpassword > auth/htpasswd

Base Authentication 用户名和密码
docker run -d \
–restart=always \
–name registry \
-v pwd/auth:/auth \
-e “REGISTRY_AUTH=htpasswd” \
-e “REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm” \
-e “REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd” \
-v pwd/cert:/certs \
-e REGISTRY_HTTP_ADDR=0.0.0.0:443 \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/1_hub.jessetalk.cn_bundle.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/2_hub.jessetalk.cn.key \
-p 443:443 \
registry:2

githlab :基础docker 安装的地址
https://docs.gitlab.com/omnibus/docker/

提升gitlab-ci runner permission
sudo usermod -aG docker gitlab-runner

Dotnet core 类库集合

开源类库Github

唯笑志在 工业互联网 ServerSuperIO 轻量级物联网框架,降低研发/人力/时间成本,解决协议/数据/设备/通讯机制多样性C#
http://github.com/wxzz

疯狂小白 Xamarin安卓绑定好的第三方类库信鸽推送、腾讯Bugly运营监控C#
http://github.com/jsonsugar/XamainAndroidBindLibary

Asky极简架构,超轻量级,零基础1小时学dnc+vue开源教程C#
http://github.com/AskyEdu

uliian dapper的linq扩展,SQL可输出可修改,解决EF生成SQL不可控的痛点C#
http://github.com/uliian/SQLinq

Lemon dnc高性能AOP
http://github.com/dotnetcore/AspectCore-Framework

Lemon Apache Skywalking .Net Agent
http://github.com/OpenSkywalking/skywalking-csharp

卡索 Stackexchange.Redis中文文档翻译
https://github.com/WeihanLi/StackExchange.Redis-docs-cn

neo小蚁开源区块链,基于dnc C#开发主链
https://github.com/neo-project

NEL区块链智能经济实验室 dnc C#
https://github.com/NewEconoLab

aelf开源区块链,基于dnc C#开发主链
https://github.com/AElfProject/AElf

aelf开源区块链,基于C++开发资产侧链
https://github.com/AElfProject/aelf-asset-chain

ONT本体开源区块链,NEO开源区块链母公司分布科技的项目,基于Go开发主链,智能合约支持C#、Go、TS、JS、Java、Python等
https://github.com/ontio

盛派网络 Senparc.Weixin 微信dnc C# SDK
https://github.com/JeffreySu/WeiXinMPSDK

俞正东 T4生成外键、支持异步、Linq转Sql引擎C#
https://github.com/yuzd/AntData.ORM

Yuko Pomelo EFCoreMySql Connector C#
http://github.com/yukozh

张占岭仓储大叔LindCore架构组件C#
http://github.com/bfyxzls

Ray 基于Actor事件溯源的轻量级、高性能分布式开发框架C#
https://github.com/RayTale/Ray

毕殿卿 dnc的Dapper、EF Core封装示例
https://github.com/bidianqing/oneaspnet.repository

老牛 基于C#的实体模型框架
https://github.com/agebullhu/EntityModel

老牛 开源的模型设计与代码生成工具(含EntityModel设计、代码生成功能)
https://github.com/agebullhu/AgebullDesigner

老牛 基于ZMQ的Rpc框架,实现分布式远程调用、消息队列、自动扩容等网络功能(C++ C#)
https://github.com/agebullhu/ZeroNet

张善友 NanoFabric 微服务开发框架,基于Consul + dnc + Polly + Ocelot + Exceptionless + IdentityServer等开源项目
https://github.com/geffzhang/NanoFabric

|