安装部署docker以及基本的操作

目录

一.安装与部署docker

1.1 关闭防火墙

 1.2 安装依赖包

 1.3 设置阿里云镜像源

 1.4安装docker-ce社区版

 二.设置镜像加速

 三.网络优化

四.docker镜像操作

4.1 搜索镜像——docker search 镜像

 4.2 下载镜像——docker pull 仓库名/镜像名:标签

 4.3 查看已下载镜像——docker images

4.4 查看镜像详细信息

4.5修改镜像标签

4.6删除镜像

 五 .导出镜像文件和拉取本地镜像文件

5.1 导出镜像文件

 5.2 拉取本地镜像文件

六 容器管理

1.创建容器

 2.开启容器

 3.关闭容器

(1)优雅停止

 (2)强制停止

 4.查看容器状态信息

5.删除容器

 6.进入容器

 7.复制文件

(1)从容器中复制到主机

 8.创建并启动容器(替代1和2)

 9.容器的导入和导出

(1)导出

 (2)导入

一.安装与部署docker

1.1 关闭防火墙

#关闭防火墙并设置开机自关闭
systemctl stop firewalld.service
systemctl disable firewalld.service 
setenforce 0

 1.2 安装依赖包

yum install -y yum-utils device-mapper-persistent-data lvm2

 1.3 设置阿里云镜像源

#设置阿里云镜像源
cd /etc/yum.repos.d/
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

 1.4安装docker-ce社区版

#安装docker-ce社区版
yum install -y docker-ce
 
#开启docker并设置开机自启
systemctl start docker.service
systemctl enable docker.service

 

 二.设置镜像加速

 这里我们使用阿里云的镜像,加速镜像下载速度
  注册阿里云账号并登录

 

 

 

mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [镜像加速地址]
}
EOF
systemctl daemon-reload
systemctl restart docker

 三.网络优化

vim /etc/sysctl.conf
 
net.ipv4.ip_forward=1  #开启路由转发功能
stsctl -p
systemctl restart network
systemctl restart docker

四.docker镜像操作

4.1 搜索镜像——docker search 镜像

/前面的是公有仓库的名称

如果没有则代表是默认镜像(官方镜像)

 4.2 下载镜像——docker pull 仓库名/镜像名:标签

 4.3 查看已下载镜像——docker images

#查看下载到本地的所有镜像
docker images
 
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        latest    605c77e624dd   19 months ago   141MB

--------------------------------------------------------------------------------
REPOSITORY:镜像属于的仓库;
TAG:镜像的标签信息,标记同一个仓库中的不同镜像;
IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像,经过md5方式加密过;
CREATED:镜像创建时间;
VIRTUAL SIZE:镜像大小;
--------------------------------------------------------------------------------

4.4 查看镜像详细信息

docker inspect 镜像ID

4.5修改镜像标签

docker tag 原仓库名/原镜像名:原标签 新仓库名/新镜像名:新标签

 注:修改标签后显示的镜像,不会删除原有镜像,两个镜像文件是同一个的所以ID也相同

4.6删除镜像

docker rmi 仓库名/镜像名:标签      

                   镜像ID

 删除所有镜像可以使用 docker rmi $(docker images -q) 

 五 .导出镜像文件和拉取本地镜像文件

5.1 导出镜像文件

 docker save -o xxx.tar 仓库名/镜像名:标签        #默认导出到当前目录

 5.2 拉取本地镜像文件

docker load -i xxx.tar        # -i 也可以使用 < 替换

六 容器管理

1.创建容器

       容器创建就是将镜像加载到容器的过程。新创建的容器默认处于停止状态,不运行任何程序,需要在其中发起一个进程来启动容器。

 docker create [选项] 镜像名

                        --name=容器名

                        -i                  让容器开启标准输入接受用户输入命令
                        -t                  让 Docker 分配一个伪终端 tty
                        -it                 合起来实现和容器交互的作用,运行一个交互式会话 shell

 2.开启容器

docker start 容器名或ID

 

 3.关闭容器

        分为优雅停止和强制停止,强制停止区别于优雅停止的是状态码不同,强制停止可能造成数据异常,在特点状况下使用。

(1)优雅停止

docker stop 容器名或ID

 (2)强制停止

docker kill 容器名或ID

 4.查看容器状态信息

docker ps              #默认查看开启的容器

                  -a        #查看所有存在的容器

                  -q        #显示容器ID

 

字段名 含义
CONTAINER   ID 容器ID号
IMAGE 镜像名
COMMAND 启动容器执行的命令(镜像已经定义好,可以通过docker inspect镜像查看到,如果在创建容器的命令后面跟上命令,会覆盖这个默认执行的命令)
CREATED 创建时间(相对于现在)
STATUS 容器状态(创建、开启、关闭)
PORTS 容器映射的端口
NAMES 容器名称(使用--name指定的,未指定系统会自动创建)

5.删除容器

docker rm 容器名或ID

 

 6.进入容器

docker exec -it 容器名或ID sh

 7.复制文件

(1)从容器中复制到主机

docker cp 容器名或ID:文件路径 主机文件路径

 (2)从主机复制到容器

docker cp 主机文件路径 容器名或ID:文件路径

 8.创建并启动容器(替代1和2)

docker run 容器名或ID [指定命令]        #等同于先执行 docker create 命令,再执行 docker start 命令,之后默认执行镜像定义的命令,也可以自己指定命令,命令执行完则退出。

                -d        #后台运行

注意:容器是一个与其中运行的 shell 命令/进程共存亡的终端,命令/进程运行容器运行, 命令/进程结束容器退出。

docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。

 当利用 docker run 来创建容器时, Docker 在后台的标准运行过程是

  • 检查本地是否存在指定的镜像。当镜像不存在时,会从公有仓库下载;
  • 利用镜像创建并启动一个容器;
  • 分配一个文件系统给容器,在只读的镜像层外面挂载一层可读写层;
  • 从宿主主机配置的网桥接口中桥接一个虚拟机接口到容器中;
  • 分配一个地址池中的 IP 地址给容器;
  • 执行用户指定的应用程序,执行完毕后容器被终止运行。

 

 可以使用死循环使某些容器(如centos操作系统)持续运行

 打开另一个终端查看,处于运行中,也能进入此包含centos操作系统的容器执行操作

 但是使用死循环持续运行会占用前台,所以直接使用-d选项

 9.容器的导入和导出

        用户可以将任何一个 Docker 容器从一台机器迁移到另一台机器。在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为容器快照文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。

(1)导出

docker export 容器ID/名称 > 文件名

docker export -o 容器ID/名称 文件名

 (2)导入

注意:导入后会生成镜像,但不会创建容器

猜你喜欢

转载自blog.csdn.net/m0_57554344/article/details/132297198