自学 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