Docker轻松入门指南

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: Docker轻松入门指南

安装docker

在Deepin下安装

卸载旧版本的docker:

sudo apt-get remove docker.io docker-engine

安装依赖:

sudo apt-get install apt-transport-https ca-certificates curl python-software-properties software-properties-common

下载并安装秘钥:

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

出现OK说明安装成功。

验证是否安装成功:

sudo apt-key fingerprint 0EBFCD88

添加软件源:

sudo add-apt-repository  "deb [arch=amd64] https://download.docker.com/linux/debian jessie stable"

下面开始正式安装docker:

更新软件源:

sudo apt-get update

安装最新版本docker:

sudo apt-get install docker-ce

检查是否安装成功:

sudo docker version

在Deepin下docker是默认开机自启的,无需手动设置。

在WSL下安装

更新软件源:

sudo apt update

安装docker:

sudo apt-get install docker.io

启动docker服务:

sudo service docker start

此时虽然显示启动成功,其实是没有成功的,可以使用如下命令查看:

运行docker version命令时,提示服务器没有打开:

此时需要以管理员身份运行如下代码:

sudo cgroupfs-mount
sudo service docker start

再次查看,发现服务已经启动了。

验证:

镜像加速

/etc/docker/deamon.json中添加如下代码

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

添加完成之后,需要重启docker服务:

service docker restart

容器操作

查看本地镜像:

docker images
#或
docker image ls

查找镜像:

docker search [镜像名]

OFFICAL代表是官方的,AUTONATED代表支持自动化脚本。

拉取镜像:

docker pull hello-world

此时查看镜像:

删除镜像:

docker rmi -f 镜像名ID或镜像名:TAG

查看元信息:

docker image inspect hello-world

运行镜像:

docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录 镜像ID或镜像名:TAG
docker run --name hello -d hello-world

跑完之后会生成一个容器ID:

可通过日志验证hello 容器运行成功:

docker logs hello

docker部署mysql

同样,先要拉取镜像:

docker pull mysql

下图为正在下载镜像:

下载完成后如图:

查看镜像:

此时发现多了一个mysql的镜像。

运行mysql容器:

docker run -p 3306:3306 --name mysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql

一般如果mysql运行成功,会自动启动mysql服务器,可通过如下命令查看容器中的后台进程:

docker container ps

进入mysql容器:

docker exec -it mysql /bin/bash

如此,mysql就已经可用了。

docker网络模式

Bridge

桥接模式,主要用来对外通信,docker默认的网络模式就是bridge。

使用bridge模式配置容器自定的网络配置:

# 配置容器的主机名
docker run --name t1 --network bridge -h [自定义主机名] -it --rm busybox
# 自定义DNS
docker run --name t1 --network bridge -dns 114.114 -it --rm busybox
#给host文件添加一条
docker run --name t1 --network bridge --add-host [hostname]:[ip] -it --rm busybox

host

主机网络,绑定到这种网络上的容器,内部使用的端口直接绑定在主机对应的端口,而如果容器服务没有使用端口,则无影响。

None

不使用任何网络,会形成一个封闭网络的容器。

container

共享另外一个网络的network namespace,和host模式差不多,只是这里不是使用宿主主机网路,而是使用容器的网络。

docker生成镜像

docker commit -m="描述信息" -a="作者" 容器ID或容器名 镜像名:TAG
docker commit -m="mysql测试生成镜像" -a="chenyc" mysql chenyc-mysql

通过查看镜像,发现确实生成了新镜像:

dockerfile格式命令

# 生成镜像的Dockerfile文件
# 根据什么基础镜像来创建,如果本地没有,会从仓库去pull
FROM chenyc-mysql
# 镜像由谁来构建,用处不大,即将被废弃
MAINTAINER chenyc
# 标签,没啥用,用来写描述信息的
LABEL author=chenyc date=20200524 version=1.0
# 把当前路径下的文件添加到镜像中去(根目录下)
ADD 1.txt /1.txt
# 指定暴露端口,后面可以指定网络协议
EXPOSE 80/tcp 80/udp
# 在镜像运行为容器后执行的命令
ENTRYPOINT ["cat", "1.txt"]

构建镜像命令:

docker build -t mydocker .

查看构建好的镜像:

运行容器并查看日志:

ADD 和 COPY区别:

基本功能都差不多。

ADD 支持从网络下载资源;

ADD 支持将本地的tar包解压,但是网络下载的不会解压

COPY不支持上述两个操作。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
关系型数据库 MySQL Java
Docker Compose详细教程(从入门到放弃)
Docker Compose详细教程(从入门到放弃)
195 0
|
2月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
48 1
|
3月前
|
大数据 数据管理 Docker
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
255 0
|
5天前
|
监控 Docker 容器
Docker从入门到精通:Docker log 命令学习
了解 Docker 日志管理对容器监控至关重要。`docker logs` 命令用于查看和管理容器日志,例如,`docker logs <container_name>` 显示容器日志,`-f` 或 `--follow` 实时跟踪日志,`--tail` 显示指定行数,`--timestamps` 添加时间戳,`--since` 按日期筛选。Docker 支持多种日志驱动,如 `syslog`,可通过 `--log-driver` 配置。有效管理日志能提升应用程序的稳定性和可维护性。
8 0
|
9天前
|
机器学习/深度学习 数据挖掘 Docker
《Docker 简易速速上手小册》第1章 Docker 基础入门(2024 最新版)
《Docker 简易速速上手小册》第1章 Docker 基础入门(2024 最新版)
21 1
|
17天前
|
存储 Ubuntu 关系型数据库
Docker从入门到精通:ubuntu系统安装docker
本文介绍了Docker的安装过程。首先,文章简述了Docker的组成部分:镜像(如模板用于创建容器服务)、容器(运行应用的独立实体)和仓库(存储镜像的库)。接着,针对Ubuntu系统,详细阐述了卸载旧版本Docker、更新软件包、安装依赖、添加Docker官方GPG密钥和软件源、安装Docker以及配置用户组的步骤。最后,通过启动Docker、验证安装是否成功(运行`hello-world`镜像)和查看Docker版本来确认安装完成。
54 12
|
25天前
|
Ubuntu Linux Shell
docker学习笔记3,从入门到精通
docker学习笔记3,从入门到精通
|
25天前
|
应用服务中间件 Shell nginx
docker学习笔记2,入门到精通
docker学习笔记2,入门到精通
|
25天前
|
Ubuntu 网络协议 Docker
docker学习笔记1,入门到精通
docker学习笔记1,入门到精通
|
2月前
|
Java Linux Docker
Docker入门到实战
Docker入门到实战、Centos7安装Docker