Docker基础篇

前提知识

  • 强制,熟悉Linux命令和相关背景知识
  • 建议,Git相关的知识 git pull

下载地址:http://www.atguigu.com/download.shtml#docker

在下CetOS下查看内核和版本

[x_salt@bogon ~]$ uname -r
3.10.0-1062.12.1.el7.x86_64
[x_salt@bogon ~]$ cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

Docker基础

Docker镜像加速

我们一般在DockerHub拉取镜像有时会遇到困难,此时我们就需要配置加速器。这里我使用国内加速器服务,阿里云:https://<你的ID>.mirror.aliyuncs.com

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://nw5iareo.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info ///显示 Docker 系统信息

一、Docker的使用

1、Docker Hello World

在docker中可以在容器中运行应用程序,我们使用docker run命令来实现在一个容器中运行一个应用程序。

docker run ubuntu /bin/echo "Hello world" //Docker 以 ubuntu镜像创建一个新容器,然后在容器里执行 bin/echo "Hello world",然后输出结果。
2、运行交互式的容器

我们通过使用-t -i,来让docker运行的容器实现“对话”的功能:

docker run -i -t ubuntu /bin/bash  
//参数说明:
        -t 在新容器内制定一个伪终端或终端
        -i 允许你的容器内的标准输入进行交互
cat /proc/version  //查看当前系统的版本信息
ls //查看容器下的文件列表

通过exit或者ctrl+D来退出容器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-13yN9iuZ-1623163753342)(https://note.youdao.com/yws/api/personal/file/2394E7BEFB764405AFB082934354072B?method=download&shareKey=f890c55153028bd9d60524f9a95554cd)]

3、启动容器(后台模式)

可以使用下面命令来创建一个以进程方式运行的容器:

docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" //运行之后我们并没有看到输入“Hello world”,而看到的是容器的ID
docker ps  //查看确定容器是否在运行
//查看容器内的标准输出
docker logs 2b1b7a428627  //docker logs 容器ID
docker logs amazing_cori  //docker logs 自动分配的容器名称
//停止容器
docker stop <容器 ID>
docker stop <自动分配的容器名称> 
//重启容器
docker restart <容器 ID>
docker restart <自动分配的容器名称> 
//删除一个容器
docker rm -f <容器 ID>
//以清理掉所有处于终止状态的容器。
docker container prune

二、容器使用

  • 获取镜像 docker pull ubuntu
  • 启动容器 docker run -it ubuntu /bin/bash
  • 后台运行 docker run -itd --name ubuntu-test ubuntu /bin/bash //设置容器名为ubuntu-test
  • 启动已经停止的容器
docker ps -a //查看所有容器
docker start <容器 ID>  //启动一个已停止的容器
  • 停止一个容器
//停止容器
docker stop <容器 ID>
docker stop <自动分配的容器名称> 
//重启容器
docker restart <容器 ID>
docker restart <自动分配的容器名称> 
  • 进入后台容器
docker ps //查看运行的容器
docker attach <运行容器 ID> or <运行容器的容器名> 
docker exec -it <运行容器 ID> /bin/bash  //使用exit或者ctrl +D退出,后台容器不会退出
  • 导出和导入容器
docker export 1e560fca3906 > ubuntu.tar  //导出容器
cat /root/ubuntu.tar  |docker import - test/ubuntu:v1  //导入容器
  • 查看端口的映射情况
docker port <容器ID>
docker port <自动分配的容器名称> 

//注意:如果你这里使用exit或者ctrl +D的话,后台运行的容器就会直接退出。推荐大家使用docker exec命令,因为此退出容器终端,不会导致容器的停止。

三、Docker镜像使用

当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。

  • 列出镜像列表

在root用户下,我们可以通过使用docker images来列出本地主机上的镜像。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Gi5bfUj-1623163753357)(https://note.youdao.com/yws/api/personal/file/AA1D360E53344577BD3516E400D8A513?method=download&shareKey=001559875f7df3e7160281b8c4aaaa58)]

四、Docker实例

1、Docker安装Ubuntu
docker pull ubuntu //拉取最新版的 Ubuntu 镜像
docker images  //查看本地镜像
docker run -itd --name ubuntu-test ubuntu 
docker exec -it ubuntu-test  /bin/bash
docker ps //查看容器的运行信息
2、Docker安装CentOS
docker pull centos:centos7 //拉取指定版本的 CentOS 镜像,这里我们安装指定版本为例(centos7):
docker images  //查看本地镜像
docker run -itd --name centos-test centos:centos7 //运行容器
docker exec -it centos-test  /bin/bash
docker ps //查看容器的运行信息
3、Docker安装MySQL
docker search mysql //查看可用的 MySQL 版本
docker pull mysql:latest 拉取 MySQL 镜像
docker images  //查看本地镜像
#启动
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
//参数说明:
    -p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
    MYSQL_ROOT_PASSWORD=123456:设置 MySQL 服务 root 用户的密码。
docker ps //查看容器的运行信息  
#进入容器
docker exec -it mysql /bin/bash

#登录mysql
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

#添加远程登录用户
CREATE USER 'liaozesong'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'liaozesong'@'%';

五、docker常用命令

  • 1、docker version //显示 Docker 版本信息。
  • 2、docker info //显示 Docker 系统信息,包括镜像和容器数
  • 3、docker --help
  • 4、docker cp //用于容器与主机之间的数据拷贝。
    以下的操作都是在主机的命令行来进行操作的。      
    docker cp /root/share 65b912bb0b2a:/root/www/  //将主机/root/share目录拷贝到容器65b912bb0b2a:/root/www/目录下
    docker cp /root/share 65b912bb0b2a:/root/test   //将主机/root/share目录拷贝到容器65b912bb0b2a中,目录重新命令为test下
    docker cp 65b912bb0b2a:/root/www/   /root/hello/
    //将容器65b912bb0b2a的,目录www拷贝到主机的/root/hello/目录下
    
  • 5、docker images //列出本地镜像。
  • 6、docker rmi //删除本地一个或多少镜像。
  • 7、docker pull // 从镜像仓库中拉取或者更新指定镜像
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值