docker 简介和使用总结:image,container,dockfile,nginx,redis,compose

一。安装docer-ce

#在root 用户下

第一步 卸载旧的安装包

 yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-engine

                  

第二步  安装需要的安装包

yum install -y yum-utils

第三步 设置镜像的仓库

 yum-config-manager \

    --add-repo \

    https://download.docker.com/linux/centos/docker-ce.repo  --默认是国外的

 

#如果没有vpn 建议安装阿里云的    

yum-config-manager \

 --add-repo \

 http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#更新yum 索引安装包

yum makecache fast

 

第四步# 安装docker相关的

 yum install docker-ce docker-ce-cli containerd.io (可能会出错,多试几次)

 第五步启动docker 服务

 systemctl start docker

 #查看docker 是否安装完成

 docker --version

 第六步 hello world 

 docker run hello-world

#查看所有的docker 镜像

 docker images

 

docker search aspnet

docker pull mcr.microsoft.com/dotnet/core/aspnet:latest

第二章、Docker 卸载

# 卸载依赖

yum remove docker-ce docker-ce-cli containerd.io

# 删除资源

rm -rf /var/lib/docker

 

第三章、Docker镜像相关指令

1  docker镜像基本命令:

查看所有镜像

 docker images

  • REPOSITORY表示镜像的仓库源
  • TAG镜像的标签
  • IMAGE ID镜像ID
  • CREATED镜像创建时间
  • SIZE镜像大小

获取新的镜像:

docker pull 名称

查找镜像

docker search httpd

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

 

删除镜像(会提示先停止使用中的容器) 

docker rmi  镜像name/镜像id

 

创建镜像

使用 Dockerfile 指令来创建一个新的镜像

 docker build , 从零开始来创建一个新的镜像。为此,我们需要创建一个 Dockerfile 文件,其中包含一组指令来告诉 Docker 如何构建我们的镜像。

更新镜像

1  运行的容器

2  docker exec -it fd2c868cadlc /bin/bash   进入容器操作

3  apt-get update

4  exit

5  docker commit 来提交容器副本

docker commit -m="nginx has update0618" -a="eleven" 79323dxds323 nginx-8081-8082:vCustom2

  • -m: 提交的描述信息
  • -a: 指定镜像作者
  • 79323dxds323容器 ID
  • nginx-8081-8082:vCustom2: 指定要创建的目标镜像名-tag

 

(要点时间)

设置镜像标签

docker tag 命令,为镜像添加一个新的标签。

docker tag 860c279d2fec runoob/centos:dev

docker tag 镜像ID,这里是 860c279d2fec ,用户名称、镜像源名(repository name)和新的标签名(tag)

 

二。安装docker,mysql 8.0 及常用命令

1.安装docker yum install docker-io

2.启动docker service docker start

3.查看docker是否启动成功
ps -ef|grep docker

三。使用docker安装mysql
1.查询mysql镜像:
docker search mysql

2.拉取安装mysql
docker pull mysql

3.查看镜像:docker images

4.在opt下创建文件夹
cd /opt/
mkdir mysql_docker
cd mysql_docker/
echo $PWD

5.启动mysql容器,在var/lib/docker/containers/下查看容器
docker run --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest

守护态运行 docker run时添加-d参数,可以让docker容器在后台以守护态形式运行
docker run -d --name mysqlserver -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 mysql:latest

cd /var/lib/docker/containers/

查看mysql进程:docker ps -a

7.进入mysql容器,并登陆mysql
docker exec -it mysqlserver bash
mysql -uroot -p
mysql> select now();

8.开启远程访问权限
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

9. 修改MySQL8 root密码
执行命令: alter user root@"localhost" identified by "your_new_passwd";

退出:exit;

10.用工具远程连接测试:

三docker常用命令
1.查看docker日志 docker logs -f --tail 10 a4dac74d48f7
2.查看进程 docker ps -a
3.关闭docker中mysql容器 docker stop mysqlserver

4.重启docker中mysql重启 docker restart mysqlserver
5.重启docker systemctl restart docker
6.关闭docker systemctl stop docker

7.删除容器:docker rm 容器id或名称
8.删除镜像:docker rmi 镜像id或名称
9.守护态运行 docker run时添加-d参数,可以让docker容器在后台以守护态形式运行
10.进入容器的方式:attach,exec,nsenter工具
11.进入一个后台正在运行的容器:
docker exec -it 容器id或名称 /bin/bash

12.端口映射实现访问容器:docker run -p 6169:80
13.使用--name给容器命名,便于使用 docker run -d --name mysqlserver-new mysqlserver
14.创建一个数据卷容器 docker run -it -v /dbdata --name dbdata mysqlserver
15.挂载dbdata容器中的数据卷
docker run -it --volumes-from dbdata --name db1 mysqlserver
docker run -it --volumes-from dbdata --name db2 mysqlserver

转自:
https://www.cnblogs.com/jiefu/p/12

二。硬件发展速度:asp.net+sql+redis+nginx:资源利用率太低,多软件工具不能隔离,相互影响,不能快速部署

 

0.docker 简介和使用总结:image,container,dockfile,nginx,redis,compose

默认镜像:精简版linux+coreclr
1.可定制的安装包
2.不建议运行时修改配置文件

容器:运维工具

镜像容器里部署asp.netcore webapi
配置文件名要小写:lognet4.config
docker exec -it 1092
cat ls
cat appsettings.json
clear

docker hub :镜像库

2.--------docker file 用来构建镜像的文本
docer run -d -p 8081:80 -v /vip/epublish:/app --wrkdir /app mcr.microsoft.com/dotnet/core/aspnet dotnet /app/zhaoxi.aspnetcore31.dockerproject.dll

docker build -t core31v1.619 -f Dockerfile .
docker run -itd -p 8082:80 core31v1.619
docker logs core31v1.619
docker rmi core31v1.619
docker stop $(docker ps -q) & docker rm $(docker ps -aq) #一次性删除全部容器


1.发布后的文件+官方CLR镜像
docker run -d -p 8081:80 -v /vip/epublish:/app --workdir /app mcr.microsoft.com/dotnet/core/aspnet dotnet /app/Zhaoxi.AspNetCore31.DockerProject.dll

docker run -d -p 8081:80 -v /vip/epublish:/app --workdir /app mcr.microsoft.com/dotnet/core/aspnet dotnet /app/Zhaoxi.AspNetCore31.DockerProject.dll

 

2.用dockerfile 去构建镜像

Asp.Net Core+Dockerfile 2 Build镜像 3 Run

docker build -t core31v1.619 -f Dockerfile .
docker run -itd -p 8082:80 core31v1.619

 

3.nginx+集群

Nginx镜像 单独的nginx.conf(对应版本) 修改配置文件,挂载进去 Run

docker run -d -p 8086:80 -v /vip/enginx/:/var/log/nginx/ -v /vip/enginx/nginx.conf:/etc/nginx/nginx.conf:ro --name elnginx nginx

 

4.docker+redis
docker run -d -p 8085:6380 -v /vip/eredis/redis.conf:/usr/local/etc/redis/redis.conf -v /vip/eredis/data:/data:rw --name redis02 redis:6.0 redis-server /usr/local/etc/redis/redis.conf

bgsave,绑定Ip,开启redis远程访问

 

5.docker + redis + 虚拟网卡

下载 curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

授权 chmod +x /usr/local/bin/docker-compose docker-compose docker-compose –version docker-compose stop

 

6.基于compse创建容器:docker compose , docker 管理

下载 curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

授权 chmod +x /usr/local/bin/docker-compose docker-compose docker-compose –version docker-compose stop

 

7.compse.yml批处理一次创建2个asp.netcore,redis,nginx容器
www.toyaml.com在线检查yaml文件格式
-d 后端运行

 

8.docker machine:管理多台服务器主机
9.docker swarm 集群管理工具
10.kubernets--google

docer search nginx
docker pull nginx
docker logs e232
docker exec -it e232 /bin/bash
ls
cd etc
ls
cd nginx
ls
cat nginx.config

------------------

虚拟机VM
docker
namespace

centos7+docker+ecs+asp.netcore (1he2g)

docker --version
docker ps -a
docket stop 9f3a
up exited
systemctl start
clear

docker logs id
curl:
docker run hello word
精简版linux+coreclr
docker pull mcr.microsoft/aspnetcore:latest
.netframework(mono)

posted @ 2022-09-28 22:23  大树2  阅读(90)  评论(0编辑  收藏  举报