### Ubuntu Docker 安装及使用 - [安装](#安装) - [创建镜像](#通过dockerfile文件创建镜像) - [通过dockerfile文件创建镜像](#通过dockerfile文件创建镜像) - [使用官网镜像](使用官网镜像) - [常用命令](#常用命令) - [查看镜像列表](#查看镜像列表) - [删除镜像](#删除镜像) - [创建容器](#创建容器) - [查看所有容器](#查看所有容器) - [镜像重命名](#修改重命名) - [导入容器](#导入容器) - [删除容器](#删除容器) - [容器重命名](#容器重命名) - [启动容器](#启动容器) - [连接容器](#连接容器) ### 安装 ##### 直接使用官方安装脚本自动安装即可 ``` curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun ``` ##### 测试一下docker是否安装成功 ``` sudo docker help ``` ##### 为 hehaoyang 用户添加权限 ``` sudo usermod -aG docker hehaoyang sudo reboot ``` ### 创建镜像 #### 通过dockerfile文件创建镜像 ##### 创建dockerfile文件 ``` mkdir docker && cd docker vim dockerfile ``` * **dockerfile 文件内容** ``` FROM ubuntu:18.04 MAINTAINER hehaoyang "1109196436@qq.com" ENV DEBIAN_FRONTEND=noninteractive RUN cp -a /etc/apt/sources.list /etc/apt/sources.list.bak RUN sed -i 's@http://.*ubuntu.com@http://repo.huaweicloud.com@g' /etc/apt/sources.list RUN apt update RUN apt install -y bash-completion vim sudo locales time rsync bc python RUN apt update && apt install -y -f # language support RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 # switch to a no-root user RUN useradd -m -d /home/hehaoyang -s /bin/bash hehaoyang RUN sed -i -e '/\%sudo/ c \%sudo ALL=(ALL) NOPASSWD: ALL' /etc/sudoers RUN usermod -a -G sudo hehaoyang USER hehaoyang WORKDIR /home/hehaoyang ``` ##### 创建镜像 ``` docker build -t ubuntu_18_04 . # ubuntu_18_04 是镜像名称,可随意更改,注意命令最后有一个’.’ ``` ##### 使用官网镜像 ``` docker pull ubuntu:18.04 ``` ### 常用命令 ##### 查看镜像列表 ``` docker images ``` ##### 删除镜像 ``` docker rmi ubuntu:18.04 ``` ##### 创建容器 ``` # --privileged 使用该参数, 容器能够获取到主机的完整权限 # --name 设置容器名 # --mount type=bind,source=/root/target,target=/app # source= 填 SDK 所在目录;target= 填容器内的一个目录,必须是空目录 # ubuntu 是上一步的镜像名 docker run --privileged --mount type=bind,source=/home/hehaoyang/works/gogs,target=/home/hehaoyang/workspace --name="gogs" -d -i -t -p 3000:3000 ubuntu_18_04 ``` ##### 查看所有容器 ``` docker ps -a ``` ##### 修改重命名 ``` docker tag gogs:laster test:laster docker rmi gogs:laster ``` #### 导入容器 ``` docker load -i sg368z_ubuntu-20.04-v1.2.tar.gz ``` ##### 删除容器 ``` docker rm -f gogs ``` ##### 容器重命名 ``` docker rename mystifying_wilbur quectel-rk3568-ubuntu ``` ##### 启动容器 ``` docker start gogs ``` ##### 连接容器 ``` docker attach gogs ``` #### 导出镜像为容器 * 导出容器为镜像 ``` docker commit quectel_rk3568 quectel_rk3568_ubuntu:laster ``` * 导出为压缩包 ``` docker save -o docker.tar.gz quectel_rk3568_ubuntu:laster ```