Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作

文章目录

  • Docker-ce入门级安装与配置
  • 1. 安装前准备工作
    • 1.1 修改镜像源
    • 1.2 安装CA证书
    • 1.3 添加 GPG 密钥
    • 1.4 添加仓库
    • 1.5 更新APT
  • 2. Docker-ce 安装与入门
    • 2.1 安装Docker
    • 2.2 启动Docker
    • 2.3 测试Docker
    • 2.4 添加用户到docker用户组
    • 2.5 Docker添加镜像
  • 3. Docker-ce 入门
    • 3.1 docker run 创建容器
    • 3.2 docker常用命令
      • 3.2.1 查看镜像 / 容器
      • 3.2.2 容器退出 / 停止/ 重启 / 进入
      • 3.2.3 删除镜像 / 容器
      • 3.2.4 导出导入容器 / 镜像
      • 3.2.5 从容器创建新镜像

Docker-ce入门级安装与配置

测试环境

Ubuntu 20.04

1. 安装前准备工作


1.1 修改镜像源

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第1张图片

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第2张图片

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第3张图片
Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第4张图片
Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第5张图片

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第6张图片

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第7张图片

1.2 安装CA证书

对docker内部的https网络协议的支持

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

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第8张图片

若出现报错请尝试一下两行命令,未出现则跳过下面这两行

sudo apt-get install libcurl3-gnutls=7.47.0-1ubuntu2
sudo apt-get update && sudo apt-get install curl

1.3 添加 GPG 密钥

添加docker-ce 软件源到Ubuntu系统中

curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cdbZmJ8H-1633955078289)(Docker%E5%AE%89%E8%A3%85%EF%BC%88Ubuntu%EF%BC%89.assets/image-20211010154025974.png)]

1.4 添加仓库

sudo add-apt-repository \
"deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
$(lsb_release -cs) \
stable"

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第9张图片

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第10张图片

1.5 更新APT

sudo apt-get update

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第11张图片

2. Docker-ce 安装与入门


2.1 安装Docker

sudo apt-get install docker-ce 

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第12张图片

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第13张图片

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第14张图片

2.2 启动Docker

sudo service docker start 

输入命令后无报错则成功

2.3 测试Docker

sudo docker run hello-world

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第15张图片

2.4 添加用户到docker用户组

sudo gpasswd -a ${USER} docker

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Q0Lgj5uR-1633955078297)(C:/Users/Lenovo/Desktop/2021-10/Docker%E5%AE%89%E8%A3%85%EF%BC%88Ubuntu%EF%BC%89.assets/image-20211010154541692.png)]

2.5 Docker添加镜像

添加纯净的Ubuntu镜像

sudo docker pull ubuntu 
# 查看镜像
sudo docker images

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第16张图片


3. Docker-ce 入门


3.1 docker run 创建容器

cd /usr/local
sudo mkdir dockerbuild

sudo docker run -it -v /usr/local/dockerbuild:/root/build/ --name pc1 ubuntu

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nvDZVuNC-1633955078300)(C:/Users/Lenovo/Desktop/2021-10/Docker%E5%AE%89%E8%A3%85%EF%BC%88Ubuntu%EF%BC%89.assets/image-20211010175156893.png)]

如上图所示,已经进入了刚创建的容器内部,该容器没有图形化界面,不过可以在终端里进行一系列操作,比如搭建集群

root@d6e5d1720bdd 其中@后的内容 d65e5d1720bdd 为容器的ID

关于 docker run [Options] image [Command] [arg...]命令的参数说明

参考资料:https://www.runoob.com/docker/docker-run-command.html

参数 说明
-a stdin 指定标准输入输出内容的类型,可选stdin,stdout,stderr
-d 后台运行容器,并返回容器的ID
-i 以交互模式运行,通常与-t同时使用
-P 随机端口映射,容器内部端口随机映射到主机的端口
-p 指定端口映射,格式为:`主机(宿主)端口:容器端口
-t 为容器重新分配一个伪输入终端,通常与-i同时使用
–name=“xxx” 为容器指定一个名称
–dns 8.8.8.8 指定容器使用的DNS服务器,默认和宿主一致
–dns-search example.com 指定容器DNS搜索域名,默认和宿主一致
-h “mars” 指定容器的hostname
-e username = “ritchie” 设置环境变量
-env-file=[] 从指定文件读入环境变量
–cpuset=“0-2” or --cpuset=“0,1,2” 绑定容器到指定CPU运行
-m 设置容器使用内存的最大值
-net=“bridge” 指定容器的网络连接类型,支持bridge/host/none/container四种类型
–link=[] 添加链接到另一个容器
–expose=[] 开放一个端口或一组端口
–volume, -v 绑定一个卷

3.2 docker常用命令

注:以下命令需要区分是在容器内部还是外部

参考资料:https://www.runoob.com/docker/docker-command-manual.html

3.2.1 查看镜像 / 容器

查看所有镜像

sudo docker images

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第17张图片

查看正在运行的容器

sudo docker ps

在这里插入图片描述

查看所有的容器

sudo docker ps -a

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第18张图片

3.2.2 容器退出 / 停止/ 重启 / 进入

退出容器

在这里插入图片描述

重启容器 (成功后会显示一次容器ID)

# 先查询之前容器的ID
sudo docker ps -a 
sudo docker restart d6e5d1720bdd

在这里插入图片描述

进入容器 (进入前确保容器已经启动)

  • docker attach 若再次退出终端,容器自动停止
  • docker exec 若再次退出终端,容器仍在后台执行 (通常与-it同时使用,表示以交互模式运行并启动伪终端)
sudo docker exec -it d6e5d1720bdd /bin/bash

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第19张图片

通过上图可知,exec启动的容器,就算在内部用exit命令退出,它仍能在后台运行。

停止容器

sudo docker stop d6e5d1720bdd

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第20张图片

注:以上命令的容器ID均可用容器的name代替,如下图所示

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第21张图片

3.2.3 删除镜像 / 容器

删除镜像

docker rii 镜像id

删除容器

docker rm 容器id

删除容器前需关闭容器,否则会出现如下的报错
Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第22张图片

关闭容器后

Docker | 基于Ubuntu20.04系统 | Docker-ce的入门级安装与基本操作_第23张图片

3.2.4 导出导入容器 / 镜像

导出容器为tar文件(不会保留历史记录)

docker export 容器Id xxx.tar 

导入容器文件为镜像(可重命名)

docker import xxx.tar images_name:images_tag

导出镜像为tar文件(会保留镜像所有历史记录)

docker save -o xxx.tar images_name:images_tag

导入镜像(无法重命名)

docker load < xxx.tar 

3.2.5 从容器创建新镜像

docker commit [Option] $id $image_name

Option参数说明

-a: 提交的镜像作者

-c: 使用Dockerfile指令来创建镜像

-m: 提交时的说明文字

-p: 在commit时,将容器暂停

你可能感兴趣的:(docker,ubuntu)