Docker 的概念及使用【阿里云】

一、概念

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:

  1. dockerClient客户端

  2. Docker Daemon守护进程

  3. Docker Image镜像

  4. DockerContainer容器

 

二、Docker的安装与简单使用

安装

CentOS: yum install docker-io

Ubuntu: apt install docker-ce

个人安装阿里云的Ubuntu命令使用:apt install docker.io

如果失败更新后再安装一次:apt-get update

 

启动Docker

CentOS: systemctl start docker

Ubuntu: service docker start

 

查看docker相关信息

docker info / version

下载镜像

docker pull <image-name>:<version>

举栗子:下载monggodb——》docker pull mongo:latest

查看镜像文件

docker images、docker image ls

删除镜像文件

docker rmi <name>
 

查看docker run的详细信息

docker run --publish

创建容器并运行【如果没有则自动下载】

docker run -p <out-port>:<in-port> -d --name <container-name> <image-name>:<version>

【如果是MySQL容器要指定管理员密码】

-e MYSQL_ROOT_PASSWORD=123456

举栗子1:

docker run -p 3306:3306 --name mysql57 -d mysql

mysql要指定密码:docker run -p 3306:3306 --name mysql57 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

可以改端口号:docker run -p 3308:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

【需要开启阿里云】

举栗子2:

开启Nginx:docker run -p 80:80 --name mynginx -d nginx:latest

开启Mongo:docker run -p 27017:27017 --name mymongo -d mongo:latest

拷贝文件:docker conatiner cp index.html mynginx:/usr/share/ginx/html

 

查看进程

ps -ef | grep mysql

停止容器与重启容器

docker stop <container-name>

举栗子:

停止:docker stop mysql8

查看停止:docker container ls -a

开启mysql:docker start mysql57

 

启动容器

docker start <container-name>

查看所有容器

docker container ls -a

查看正在运行的容器

docker ps

对那些不会自动终止的容器可以使用命令

docker container kill <container-id>

删除容器(慎重的使用!!!)

docker container rm <container-name>

举栗子:docker container rm mysql57

清除所有的容器

docker container prune (慎重的使用!!!否则从删库到跑路了哟)

如果使用MySQL 8.x,可能因为客户端工具过旧导致无法连接

可以登录到运行MySQL的容器进行下面的配置:

docker container exec -it <container-name> /bin/bash

进入容器举栗子:docker container exec -it mysql8 /bin/bash

mysql -u root -p

解决方法-——》改root:

alter user 'root'@'%' identified with mysql_native_password by '123456' password expire never;

进入容器的mysql后举栗子【使用命令】:

alter user 'root'@'%' identified with mysql_native_password by '123456';

use mysql;

mysql> select user, host, authentication_string from user;

开启后可用本地图形化界面进行连接

 

查看错误日志:journalctl -xe

查看状态:systemctl status docker

 

 

 

三、拓展内容

拓展1:事务处理四大特性-ACDI 【原子性 ,一致性,隔离性,持久性】

拓展2:SQL分为:

- DDL: create drop alter

- DML: insert delete update

- DQL: select

- DCL: grant revoke

SQL语言共分为四大类:

1.DQL语句(数据查询语言-Data Query Language):Select

2.DML语句(数据操作语言-Data Manipulation Language):Insert、Update、Delete

3. DDL语句(数据定义语言-data define language):Create、Alter、Drop、Truncate 

4.DCL语句(数据控制语言-DataControlLanguage):Grant:授权、Revoke:撤销授权 、

事务控制语句 :Commit 、Rollback、Savepoint

拓展3:关系型数据库如何保证数据完整性:【经常问到】

1.实体完整性 - 每个实体都是独一无二

- 主键 / 唯一索引

2.参照完整性 - 外键 -

3.域完整性 - 列数据有效的

- 数据类型 / 长度 / 默认值约束 / 非空约束 / 检查约束(mysql不支持,使用后性能降低)

数据库不加锁,数据库会自动选择锁

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里云服务器(ECS)是阿里云提供的一种云计算服务,而Docker是一种开源的容器化平台。在阿里云服务器上使用Docker可以帮助用户更高效地部署和管理应用程序。 Docker的核心概念是容器,它是一种轻量级的虚拟化技术,可以将应用程序及其依赖打包成一个独立的可执行单元,称为容器。这样,应用程序可以在任何支持Docker的环境中运行,而不需要担心环境差异性带来的问题。 在阿里云服务器上使用Docker,您可以享受以下好处: 1. 灵活性:Docker容器可以快速部署和启动,使您的应用程序能够快速响应变化的需求。 2. 资源利用率:Docker容器共享主机操作系统的内核,因此可以更高效地利用服务器资源。 3. 可移植性:Docker容器可以在不同的环境中运行,无需担心环境差异性。 4. 可扩展性:通过使用Docker容器编排工具(如Docker Compose和Kubernetes),您可以轻松地扩展和管理多个容器。 如果您想在阿里云服务器上使用Docker,您可以按照以下步骤进行操作: 1. 在阿里云上创建一台ECS实例,并确保已安装Docker。 2. 使用Docker命令或Docker Compose编写Dockerfile和docker-compose.yml文件,描述您的应用程序和其依赖。 3. 构建Docker镜像并将其推送到阿里云的容器镜像仓库(如阿里云容器镜像服务)。 4. 在ECS实例上运行Docker容器,可以使用Docker命令或Docker Compose进行管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值