Docker安装与使用

Docker安装与使用

Docker是供开发人员和系统管理员 使用容器构建,运行和共享应用程序的平台。使用容器来部署应用程序称为容器化

官网:https://www.docker.com/


系统要求:

Ubuntu focal 20.04

Ubuntu Bionic 18.04

Ubuntu xenial 16.04

使用“lsb_release -a”查看系统版本


ubuntu安装:

更新软件包

设置存储库

sudo apt-get install 
    apt-transport-https 
    ca-certificates 
    curl 
    gnupg-agent 
    software-properties-common
添加GPG秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

验证秘钥
设置稳定的存储库
 sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"
安装Docker Engine
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
测试是否成功安装Docker Engine
sudo docker run hello-world

镜像:相当于一个root文件系统
搜索镜像
sudo docker search httpd
下载镜像
sudo docker pull httpd
查看已经下载的镜像
sudo docker images

容器:运行起来的镜像就叫做容器
仓库:存放镜像的地方
运行容器
udo docker run -p 80:80 -d httpd
run 命令常用参数
-d    后台运行容器
-i    交互式运行容器(命令行)
-p    指定映射端口,宿主机端口:容器端口,(小写p)
-t    为容器重新分配一个伪输入终端
-v    绑定一个卷,如容器内apache的www目录可以绑定到宿主机内的一个物理路径,然后直接将网站放到宿主机的物理路径,即可解析
查看所有容器
sudo docker ps -a
# 停止容器
sudo docker stop 3b3ba64e3063

# 重启容器
docker restart 3b3ba64e3063

# 启动一个已经停止的容器
docker start 3b3ba64e3063 

# 删除容器
docker rm -f 3b3ba64e3063
进入容器
# 退出容器终端,容器停止
sudo docker attach

#退出容器终端,容器不会停止
sudo docker exec
导入导出容器
#导出容器
sudo docker export 3b3ba64e3063 > apache.tar

导入一个容器
cat docker/ubuntu.tar | docker import - test/ubuntu:v1

构建镜像
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
Dockerfile 的指令每执行一次都会在 docker 上新建一层。所有我们需要把多条命令合并为一条,避免docker体积过大
dockerfile构建的镜像是已root运行,无需使用sudo命令
必须要执行“apt-get update”命令,否则安装软件时会报“无法找到软件”的错误
# 指定基础镜像
FROM ubuntu:18.04

# 维护者信息
MAINTAINER end

# 删除docker中的sources.list文件
RUN rm -rf /var/lib/apt/lists/*

# 复制宿主机中的sources.list文件到docker镜像中
ADD sources.list /etc/apt/sources.list

# 更新软件
RUN apt-get update

# 安装所需要的软件
RUN apt-get install -y 
	vim 
	wget 
	curl 
	sudo 
&& rm -rf /var/lib/apt/lists/*
当出现无法更新的情况时,可尝试更新源
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiverse" > /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiverse" >> /etc/apt/sources.list
RUN echo "deb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse" >> /etc/apt/sources.list
RUN apt-get update -y && apt-get -y upgrade
或更新APT应用列表
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe"> /etc/apt/sources.list
然后使用“docker build -t 镜像名:标签 .”来构建镜像、最后还有一个点,代表上下文路径
这个就是我们构建镜像、里面包含了一些我们安装好的应用程序、然后我们可以使用“docker push”把自己的镜像推送到自己的docker账号上保存起来,下次可直接登录docker账号拉取
使用“docker push”命令前,需要使用“docker tag”命令标记本地仓库






原文地址:https://www.cnblogs.com/Excellent-person/p/14021944.html