首页 > 系统相关 >ubuntu环境下docker的安装与使用

ubuntu环境下docker的安装与使用

时间:2024-07-30 17:52:18浏览次数:10  
标签:容器 get apt ubuntu 镜像 docker 安装

Ubuntu安装docker

1.删除旧版本docker

sudo apt-get remove docker docker-engine docker.io containerd runc

2.安装docker

  1. 更新apt包索引,输入一下命令:
apt update
  1. 安装apt依赖包,用于通过HTTPS来获取仓库,输入以下命令
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  1. 添加Docker的官方GPG密钥。
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
  1. 使用以下指令设置稳定版仓库
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(lsb_release -cs) stable"
  1. 安装Docker Engine-Community和containerd,输入以下命令
sudo apt-get update
  1. 安装最新版本的Docker Engine-Community和containerd,输入以下命令
sudo apt-get install docker-ce docker-ce-cli containerd.io

运行Docker服务

  1. 配置docker服务开机自启
systemctl enable docker
  1. 启动docker服务
systemctl start docker

3.停止docker服务

systemctl stop docker

4. 配置docker加速器

中科大镜像加速器

https://docker.mirrors.ustc.edu.cn

执行一下步骤

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":[
           "https://ox288s4f.mirror.aliyuncs.com",
           "https://registry.docker-cn.com",
           "http://hub-mirror.c.163.com",
           "https://mirror.ccs.tencentyun.com"
  ],
  "log-driver": "json-file",
  "log-opts": {"max-size":"100m", "max-file":"3"},
  "data-root":"/data/docker"
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

5. Docker镜像操作

  1. 拉取最新版本的Ubuntu镜像
docker pull ubuntu
docker pull ubuntu:latest
  1. 查看本地镜像
docker images
  1. 删除镜像
docker image rm 镜像名或镜像ID

4)镜像打标签

docker tag <镜像ID或名称> <新标签名>
  1. Dockefile生成镜像
    生成一个dockerfile文件
vim dockerfile
################################################
#
#生成SSH服务的ubuntu镜像
#
################################################

#基于哪个镜像生成新的镜像
FROM ubuntu:latest

#作者名
MAINTAINER xxx

#设置环境变量
ENV TZ Asia/Shanghai
ENV LANG zh_CN.UTF-8

#执行命令
#替换为阿里源
RUN sed -i 's#http://archive.ubuntu.com/#http://mirrors.aliyun.com/#' /etc/apt/sources.list \
    && sed -i 's#http://security.ubuntu.com/#http://mirrors.aliyun.com/#' /etc/apt/sources.list

#更新软件源并安装软件
#安装ssh服务
RUN apt-get update -y \
    && apt-get -y install iputils-ping \
    && apt-get -y install wget \
    && apt-get -y install net-tools \
    && apt-get -y install vim \
    && apt-get -y install openssh-server \
    && apt-get clean && rm -rf /tmp/* /var/lib/apt/lists/* /var/tmp/*

#设置密码
RUN echo 'root:root' |chpasswd

#允许root用户登入
RUN sed -ri 's/^#PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config

#创建sshd目录
RUN mkdir /var/run/sshd

# 声明端口
EXPOSE 22

#开始ssh服务
CMD ["/usr/sbin/sshd", "-D"]

使用docker build命令创建新镜像,命名为ubuntu_ssh。

docker build -t ubuntu_ssh .
[+] Building 219.2s (11/11) FINISHED
 => [internal] load build definition from dockerfile
 => => transferring dockerfile: 1.21kB
 => [internal] load metadata for docker.io/library/ubuntu:latest
 => [internal] load .dockerignore
 => => transferring context: 2B
 => [1/7] FROM docker.io/library/ubuntu:latest
 => [2/7] RUN sed -i 's#http://archive.ubuntu.com/#http://mirrors.aliyun.com/#' /etc/apt/sources.lis
 => [3/7] RUN apt-get update -y     && apt-get -y install iputils-ping     && apt-get -y install wge
 => [4/7] RUN echo 'root:root' |chpasswd
 => [5/7] RUN sed -ri 's/^#PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
 => [6/7] RUN sed -ri 's/UsePAM yes/#UsePAM yes/g' /etc/ssh/sshd_config
 => [7/7] RUN mkdir /var/run/sshd
 => exporting to image
 => => exporting layers
 => => writing image sha256:16d60251bc6ccb381a8958cf2c212226042784890c32a491a162466984e9c06f
 => => naming to docker.io/library/ubuntu_ssh

使用docker images查看新创建的镜像

root@ydqhost:/home/ydqun/workspace/study/docker# docker images
REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
ubuntu_ssh   latest    16d60251bc6c   32 minutes ago   241MB
ubuntu       latest    ba6acccedd29   2 years ago      72.8MB

Docker容器操作

1. 启动容器

docker run命令是docker CLI中的基一个基本命令,用于启动容器,一下是docker run命令的详细解释和实例:
1)基本语法

  • docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    在这个语法中,“OPTIONS”包含了一些参数,用于配置和控制容器的各种方面。“IMAGE”是要使用的Docker镜像。“COMMAND”是在容器内执行的
    命令,“ARG”是该命令的参数。
  1. 常用选项:
  • -t : 分配一个虚拟终端。
  • -i : 保持标准输入常驻。
  • -d : 在后台以守护进程模式运行容器。
  • --name : 为容器指定一个名称。
  • -p : 将主机的端口映射到容器的端口。
  • -v : 指定挂载目录。
  • ----privileged : 真正让当前用户有了root权限。
  • --restart : 设置容器的重启策略,例如--restart always表示容器总是会在退出后自动重启。
  • -uroot : 虽然给了root用户身份,但并没有真正的root权限。
  1. 示例
    使用镜像ubunut_ssh启动一个名为ubuntu_test的容器,其中映射宿主主机48822端口号到容器的22端口号,同时把容器ubuntu_ssh的/mnt目录挂载宿主目录/home/ydqun/workspace/study/docker/mnt下,并且给容器提权到root权限。
docker run -itd -p 48822:22 --name ubuntu_test -v /home/ydqun/workspace/study/docker/mnt:/mnt --privileged ubuntu_ssh:latest

查看所有容器

docker ps -a 

启动已停止运行的容器

docker start [container_id]

停止运行的容器

docker stop [container_id]

重启容器

docker restart [container_id]

删除已停止的容器

docker rm [container_id]

查看容器端口映射

docker port [container_id]

查看容器的日志

docker log -f [container_id]

标签:容器,get,apt,ubuntu,镜像,docker,安装
From: https://www.cnblogs.com/ydqblogs/p/18184210

相关文章

  • 【转载】MAVEN环境变量配置及安装及项目配置
    一、配置本机的环境变量   在官网找到maven安装包下载并安装到本机电脑中,本人下载的是3.8.7的。       1.点击开始——设置——系统——高级系统设置——高级——环境变量       在系统环境变量中点击新建  2.编辑系统变量,变量值找到你的maven安装路......
  • ambari2.8+ambari-metrics3.0+bigtop3.2编译、打包、安装
    bigtop编译资源说明:软件及代码镜像开发包镜像github访问编译相关知识技术知识bigtop编译流程及经验总结各模块编译难度及大概耗时(纯编译耗时,不包含下载文件和排错时间)centos真机编译branch-3.2硬件说明:编译步骤下载代码并切换分支国内镜像配置基础环境......
  • MySQL安装出现初始化错误
    在安装末端初始化数据库的时候有概率会出现unknownvariable‘mysqlx_port=0.0‘.,这种情况一般是在卸载过MySQL的机器上出现:解决办法如下: 1/删除Data文件夹,一般默认在C:\ProgramData\MySQL\MySQLServer8.0\Data;2/修改my.ini文件:mysqlx-port=0.0改为mysqlx-port=33060;3/重......
  • Docker镜像构建:技术深度解析与实践指南
    本文深入分析了Docker镜像构建的技术细节,从基础概念到高级技术,涵盖了多阶段构建、安全性优化、性能提升及实战案例。旨在为专业人士提供全面的技术洞察和实用指导,以提升Docker镜像构建的效率和安全性。关注【TechLeadCloud】,分享互联网架构、云服务技术的全维度知识。作者拥有......
  • elasticsearch单机版—安装详细教程
    一、ES介绍 Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎ApacheLucene™基础上的搜索引擎.当然Elasticsearch并不仅仅是Lucene那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:(1).分布式实时文件存储,并将每一个字段都编入索引,使......
  • JAVA介绍以及jdk、IDEA安装过程
    一.JavaME,JavaSE,JavaEEJavaME(MicroEdition):用途:JavaME是为嵌入式设备和移动设备(如手机、PDA)开发的版本。它专注于资源有限的设备和环境,提供了一个精简的Java运行时环境。特点:1.包含了一套精简的JavaAPI,使得开发者可以在资源受限的设备上运行Java应用程序。2.......
  • 安装docker
    1)下载docker-ce:https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/如:wgethttps://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-26.1.3.tgz2)tar-xzvfdocker-26.1.3.tgzcddockercp-r./*/usr/bin/3)vi/etc/systemd/system......
  • Python 环境配置(二)安装jupyter、matplotlib、numpy库
    Python环境配置(二)安装jupyter、matplotlib、numpy库一、numpypipinstallnumpy二、matplotlibpipinstallmatplotlib三、jupyter1、anaconda自带Jupyter2、pycharm插件只有Pycharm的Professional版才支持JupyterNotebook,请注意版本3、新建文件#%......
  • Linux-kali-ubuntu手动更新
    、Ubuntu主要更新升级命令介绍我们先来看看这几个命令的功能和区别,这几个命令看起来很相似,作用上有较大差别千万不要弄错了。1)、apt-getupdate$sudoapt-getupdate2)、apt-getupgrade这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软......
  • Python 环境配置(一)Python、Anaconda、Pycharm的安装
    Python环境配置(一)Python、Anaconda、Pycharm的安装本人之前已安装一次,此次为卸载之后的重新安装。。。一、Python1、下载下载官网:下载链接:DownloadPython|Python.org勾选添加到路径(环境变量)next如图所示之后点close关闭2、验证win+Rcmd:python退出ex......