其他分享
首页 > 其他分享> > 自学 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