跟着视频和教程先敲一下代码. 先购买一台服务器 临时选择的阿里云CentOS7.8 按量付费
前言: 视频[狂神说Docker]:https://www.bilibili.com/video/BV1og4y1q7M4?p=1 笔记[CSDN网友]:Docker快速入门总结笔记
1:安装Docker 1.1先卸载. 1 2 3 4 5 6 7 8 yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
1.2下载需要的安装包: 1 yum install -y yum-utils
1.3 设置镜像仓库 1 2 3 yum-config-manager \ --add-repo \ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1.4 更新索引
1.5 安装docker docker-ce 是社区版,docker-ee 企业版
1 yum install docker-ce docker-ce-cli containerd.io
1.6 启动Docker 1 2 3 4 # 开启docker服务 systemctl start docker # 查看当前版本号,是否启动成功 docker version
1.7 测试镜像 Hello-World
出现 Hello from Docker! 即为成功!
1.8 查看下载的镜像
1.9 Docker卸载 1 2 3 4 # 1. 卸载依赖 yum remove docker-ce docker-ce-cli containerd.io # 2. 删除资源 . /var/lib/docker是docker的默认工作路径 rm -rf /var/lib/docker
1.10 阿里云镜像加速 阿里云、搜索、容器镜像服务、控制台、镜像工具、镜像加速器、CentO S、复制代码 代码大概如下:
1 2 3 4 5 6 7 8 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://m761ys3y.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
2常用命令 2.1基础命令 官方文档:https://docs.docker.com/engine/reference/commandline/docker/
1 2 3 4 docker version #查看docker的版本信息 docker info #查看docker的系统信息,包括镜像和容器的数量 docker 命令 --help #帮助命令(可查看可选的参数) docker COMMAND --help
2.2镜像命令: 1 2 3 4 5 6 7 8 9 10 11 12 13 # docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest feb5d9fea6a5 10 months ago 13.3kB REPOSITORY 镜像的仓库源 TAG 镜像的标签 IMAGE ID 镜像的ID CREATED 镜像的创建时间 SIZE 镜像的大小 -a 显示所有--all -q 只显示镜像ID -aq 显示所有的镜像ID
2.3搜索镜像 Docker镜像仓库:https://hub.docker.com/
1 2 3 4 5 6 7 8 9 10 11 12 13 # search 搜索命令 docker search mysql # 查看一下系统提供的帮助 docker search --help -f, --filter filter Filter output based on conditions provided --format string Pretty-print search using a Go template --limit int Max number of search results (default 25) --no-trunc Don't truncate output # 测试一下过滤 docker search mysql --filter=STARS=3000
2.4下载镜像 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 # pull命令下载镜像 可指定镜像版本 如 mysql:5.7 docker pull mysql Using default tag: latest latest: Pulling from library/mysql 72a69066d2fe: Pull complete 93619dbc5b36: Pull complete 99da31dd6142: Pull complete 626033c43d70: Pull complete 37d5d7efb64e: Pull complete ac563158d721: Pull complete d2ba16033dad: Pull complete 688ba7d5c01a: Pull complete 00e060b6d11d: Pull complete 1c04857f594f: Pull complete 4d7cfa90e6ea: Pull complete e0431212d27d: Pull complete Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest #测试指定版本 docker pull mysql:5.7 5.7: Pulling from library/mysql 72a69066d2fe: Already exists #文件公用 93619dbc5b36: Already exists 99da31dd6142: Already exists 626033c43d70: Already exists 37d5d7efb64e: Already exists ac563158d721: Already exists d2ba16033dad: Already exists 0ceb82207cd7: Pull complete #下载依赖 37f2405cae96: Pull complete e2482e017e53: Pull complete 70deed891d42: Pull complete Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94 Status: Downloaded newer image for mysql:5.7
2.5删除镜像: 1 2 3 4 5 6 #1.删除指定的镜像id docker rmi -f 镜像id #2.删除多个镜像id docker rmi -f 镜像id 镜像id 镜像id #3.删除全部的镜像id docker rmi -f $(docker images -aq)
2.6容器命令: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 # 先下载一个容器 docker pull centos # 运行的参数 --name="名字" 指定容器名字 -d 后台方式运行 -it 使用交互方式运行,进入容器查看内容 -p 指定容器的端口 ( -p ip:主机端口:容器端口 配置主机端口映射到容器端口 -p 主机端口:容器端口 -p 容器端口 ) -P 随机指定端口(大写的P) # 运行并进入容器 docker run -it centos /bin/bash
2.7退出容器: 1 2 #exit 停止并退出容器(后台方式运行则仅退出) #Ctrl+P+Q 不停止容器退出
2.8列出容器运行记录: 1 2 3 4 5 #docker ps # 列出当前正在运行的容器 -a # 列出所有容器的运行记录 -n=? # 显示最近创建的n个容器 -q # 只显示容器的编号
2.9删除容器: 1 2 3 docker rm 容器id #删除指定的容器,不能删除正在运行的容器,强制删除使用 rm -f docker rm -f $(docker ps -aq) #删除所有的容器 docker ps -a -q|xargs docker rm #删除所有的容器
2.10启动和停止容器: 1 2 3 4 docker start 容器id #启动容器 docker restart 容器id #重启容器 docker stop 容器id #停止当前运行的容器 docker kill 容器id #强制停止当前容器