linux下docker安装与镜像容器管理


linux下docker安装与镜像容器管理

原文链接:linux下docker安装与镜像容器管理

导言

ubuntu22.04-docker engine安装,以及镜像容器管理

docker非常简单介绍

docker就是一个虚拟化容器,image是镜像,就是一个dockerfile指明这个镜像的任务,如数据库服务,API接口,虚拟机服务,image包含环境和脚本。创建镜像后执行中的镜像实例是一个容器,这个容器可以新建删除关闭多开。

安装卸载

卸载

卸载 docker

shell 复制代码
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo apt-get autoremove

web安装

参考官网链接,docker的安装脚本会随着版本变化

shell 复制代码
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc


# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo docker run hello-world

deb安装

官网下载containerd、docker-ce-cli、docker-ce、docker-buildx-plugin、docker-compose-plugin,最好发行时间一样,版本兼容

shell 复制代码
# 在文件夹下安装
sudo dpkg -i -q containerd.io_1.6.28-2_amd64.deb docker-ce-cli_25.0.4-1~ubuntu.22.04~jammy_amd64.deb docker-ce_25.0.4-1~ubuntu.22.04~jammy_amd64.deb docker-buildx-plugin_0.13.0-1~ubuntu.22.04~jammy_amd64.deb  docker-compose-plugin_2.24.7-1~ubuntu.22.04~jammy_amd64.deb 

管理

docker启动与镜像加速

docker运行管理命令
shell 复制代码
sudo docker info #查看docker位置
systemctl status docker.service #查看docker status
#启动docker
sudo systemctl start docker  
sudo service docker start 
#重启docker
sudo systemctl restart docker  
sudo service docker restart
#停止docker
sudo systemctl stop docker  
sudo service docker stop 
docker加速配置

/etc/docker/daemon.json是docker配置镜像的文件,按照如下脚本配置

shell 复制代码
echo  {"registry-mirrors": ["https://registry.hub.docker.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"]} | sudo tee -a /etc/docker/daemon.json
sudo systemctl restart docker
sudo docker info #查看有没有registry mirror

镜像操作

查看
shell 复制代码
docker image ls  #获取当时所有镜像(docker images)
docker images
docker ps -a
创建镜像

创建文件夹,编写dockerfile file1

shell 复制代码
#ubuntu虚拟机镜像
# 进行指定所使用的Ubuntu版本
FROM ubuntu:22.04
MAINTAINER user1

ENV MYPATH /usr/local
WORKDIR $MYPATH
# 安装所需的命令
RUN \
    apt update && \
    apt -y upgrade && \
    apt install -y build-essential && \
    apt-get install -y  net-tools

EXPOSE 80
CMD /bin/bash

build后完成镜像创建

shell 复制代码
docker build -f file1 -t myubuntu:22.04 . #构建docker .不能忘
sudo docker image ls #查看镜像,ps查看正在运行的容器
查找拉镜像
shell 复制代码
docker search image
docker pull image
docker push
推镜像
shell 复制代码
sudo docker login

该命令将提示你输入用户名和密码来登录到 Docker Hub。

  1. 为要推送的镜像添加标签(tag):
shell 复制代码
docker tag local_image:tagname username/repository:tagname

在这个命令中,local_image:tagname 是本地镜像的名称和标签,username/repository:tagname 是远程仓库镜像的名称和标签。

  1. 推送镜像到远程仓库:
shell 复制代码
docker push username/repository:tagname
删除镜像
shell 复制代码
sudo docker rmi image

容器操作

创建
shell 复制代码
# 创建镜像的容器并进入
sudo docker run -it -d --name ubuntu1 myubuntu:22.04  
-it 表示以交互式模式运行容器,并分配一个伪终端
-d 后台保持
关闭启动
shell 复制代码
sudo docker start -ia  ubuntu1
sudo docker stop ubuntu1
进入
shell 复制代码
sudo docker exec -it ubuntu1 /bin/bash
删除
shell 复制代码
sudo docker rm -f ubuntu1
退出

exit退出或ctrlD

相关推荐
一叶龙洲4 小时前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker5 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
BullSmall6 小时前
Anolis OS 8.10 完整安装 Docker CE(生产可用,解决 podman 冲突)
docker·容器·podman
keyipatience7 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
元Y亨H7 小时前
生产环境监控与故障应急处理(5-5-5 标准)指南
运维
j7~7 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
观山岳五楼8 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
m0_715646768 小时前
20260720
linux·arm
寒晓星8 小时前
[linux]线程及多线程
linux·运维
辰痕~9 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu