ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

自学 Docker 的历程

2021-09-30 12:58:17  阅读:138  来源: 互联网

标签:-- sudo redis 自学 mysql docker 历程 Docker


BOSS说了,你研究一下Docker回头培训一下。我,零基础。OK,开始。

半个月的时间,总结了一下,与大家分享。

由于我们公司是玩C#的,VS2019是开发工具。

前言:

1、想要在windows server上使用Docker的同学请你放弃,无论是2016还是2019。

2、开发机 windows 2019 版本21H1,安装Docker DeskTop 请选择 linux内核,windows内核也可以玩玩但是由于Docker的生成环境你不能选择windows server,所以最好用 linux内核。

正文:

一、Docker-基本命令

docker version      #查看版本
docker info           #信息
docker image ls        #image列表
docker ps -a      #容器列表
docker logs 容器name        #容器日志
docker inspect 容器name   #容器运行情况

二、Ubuntu20.04

1、安装Docker
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
 sudo apt-get install docker-ce docker-ce-cli containerd.io

2、卸载 Docker
a、在卸载 Docker 之前,你最好 移除所有的容器,镜像,卷和网络。
  docker container stop $(docker container ls -aq)
  docker system prune -a --volumes
b、再卸载 :
  sudo apt purge docker-ce
  sudo apt autoremove

三、Docker-CentOs7.9 

 安装Docker
1、sudo yum update
2、curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
3、service docker start
4、开机启动服务:sudo systemctl enable docker 

卸载 Docker
1、rm -rf /var/lib/docker
2、yum remove docker-ce
 

四、Docker-windows10

windows 10 安装Docker
1、下载Docker-desktop  : https://www.docker.com/products/docker-desktop。
2、要安装linux内核的Docker,需要下载 WSL2,并安装。

windows 10  VS2019创建 ASP.net Core  应用
1、创建项目,选择 Docker,linux
2、DockFile 属性变为“如果较新则复制”。
注释掉里面的内容,添加如下文字
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
EXPOSE 443
EXPOSE 80
COPY . .
ENTRYPOINT ["dotnet", "WebAppLinux1.dll"]

3、发布时,“目标运行时“选择【linux-x64】
4、运行PowerShell,进入项目的发布目录例如:C:\Users\Gao-Workstation\source\repos\WebAppLinux1\WebAppLinux1\bin\Release\net5.0\publish
5、生成Docker image :docker build -t webapp01  .  #注意最后有个 “.”
6、创建压缩包:  docker save webapp01 -o /tmp/web01.tar

Ubuntu 20.04 系统安装 Docker 的image
1、进入命令行,切换到管理员登录,
    $ su
    #cd /
2、创建image:docker load -i /tmp/web01.tar
3、运行:docker run  --privileged=true  -d -p 8090:80 -p 1443:443 webapp01 ping -t localhost

五、Docker-Mysql

1、拉取(最新版8.0)
docker pull mysql
2、启动
 a、简单方法:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
 b、外挂数据:docker run -d -p 3306:3306 -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql  mysql
 c、外挂配置和数据:docker run -d -p 3306:3306 -v /etc/mysql/my.cnf:/etc/mysql/conf.d/mysqld.cnf -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql  mysql
3、创建admin用户
 a、#进入容器:docker exec -it mysql bash
 b、mysql -u root -p //回车输入密码
 c、ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
 d、CREATE USER 'admin'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
 e、GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%';

六、Docker-RabbitMQ

1、拉取
 docker pull rabbitmq:3.8-management
2、创建容器
 docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 -p 1883:1883 -p 15675:15675 rabbitmq:3.8-management
#15672:管理  1883:MQTT   15675:Web_MQTT
3、安装 MQTT 和 Web_MQTT
docker exec rabbitmq rabbitmq-plugins enable rabbitmq_mqtt
docker exec rabbitmq rabbitmq-plugins enable rabbitmq_web_mqtt
    
登录管理界面(需要用本机IP地址)
http://192.168.2.150:15672

七、Docker-Redis

1、拉取(最新版6.2)
  docker pull redis

2、创建docker统一的外部配置文件
 a、mkdir -p docker/redis/{conf,data}
 b、vi  /docker/redis/conf/redis.conf
 #注意要用 root创建,并且粘贴文字进去,拷贝文件不能用。
 c、修改内容:
    bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
    protected-mode no #默认yes,开启保护模式,限制为本地访问
    daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
    databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。
    appendonly yes #redis持久化(可选)

3、启动
   docker run --privileged=true --name redis-test -v /docker/redis/conf/redis.conf:/etc/redis/redis.conf -v /docker/redis/data:/data -d  -p 6379:6379  redis redis-server /etc/redis/redis.conf --appendonly yes
 
4、创建设置密码
 a、docker exec -it redis-test  /bin/bash  #进入容器
 b、redis-cli
 c、redis 127.0.0.1:6379> AUTH PASSWORD
 d、redis 127.0.0.1:6379> CONFIG SET requirepass "123456"

八、Docer-Blazor

windows 10  VS2019创建 Blazor WebAssembly  应用

*创建证书
dotnet dev-certs https --export-path ./dotnetmvc.pfx --password 123456


1、创建项目  BlazorWasm01
2、创建文件 DockFile 属性变为“如果较新则复制”。添加如下文字
   FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
   EXPOSE 443
   EXPOSE 80
   COPY . .
   ENTRYPOINT ["dotnet", "BlazorWasm01.Server.dll"]

3、NuGet 添加 Microsoft.AspNetCore.Server.Kestrel.Https 
4、Program.cs中修改如下

          public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.ConfigureKestrel(serverOptions =>
                    {
                        serverOptions.Listen(IPAddress.Any, 80, listenOptions =>
                        {
                            listenOptions.UseHttps("dotnetmvc.pfx", "123456");
                        });
                    });

                    webBuilder.UseStartup<Startup>();
                });

5、发布时,“目标运行时“选择【linux-x64】
6、运行PowerShell,进入项目的发布目录
7、docker build -t blazorwasm01 .  #注意最后有个 “.”
8、创建压缩包:  docker save blazorwasm01 -o /tmp/bm01.tar

Ubuntu 20.04 系统安装 Docker 的image
1、进入命令行,切换到管理员登录,
    $ su
    #cd /
2、进入tar所在目录 ,创建image:docker load -i  bm01.tar
3、运行:docker run --privileged=true --name blazorwasm01 -d -p 8010:80 -p 1443:443 blazorwasm01 ping -t localhost
4、https://localhost:8010/  由于证书的问题显示不安全,但是可以访问。

以上内容本人实测通过。其中借鉴前人很多经验,如有问题请见谅。
 

标签:--,sudo,redis,自学,mysql,docker,历程,Docker
来源: https://blog.csdn.net/qq_33529095/article/details/120564541

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有