Docker的使用方法

# 一. ubuntu安装docker

方法有很多,可以直接chatgpt问一下,这里贴一下

  1. 更新你的现有列表的软件包:
sudo apt-get update
  1. 安装一些必要的软件包,这些软件包使 apt 能够通过 HTTPS 使用存储库:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  1. 添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 添加 Docker 存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  1. 更新软件包列表:
sudo apt-get update
  1. 确保你将从 Docker 存储库而不是默认的 Ubuntu 16.04 存储库安装 Docker:
apt-cache policy docker-ce
  1. 最后,安装 Docker:
sudo apt-get install docker-ce
  1. Docker 应该现在已经安装并运行了。运行以下命令以确认 Docker 正在运行:
sudo systemctl status docker

以上步骤将在 Ubuntu 上安装 Docker。

二. docker引擎启动

Docker 引擎的启停
(1)启动docker:systemctl start docker (启动的话只执行这一条就行)
(2)停止docker:systemctl stop docker
(3)重启docker:systemctl restart docker
(4)查看docker状态:systemctl status docker
(5)开机自动启动docker:systemctl enable docker
(6)查看docker概要信息:docker info
(7)查看docker总体帮助文档:docker --help
(8)查看docker命令帮助文档:docker 具体命令 --help

三. 创建docker并运行

可以使用Dockerfile创建镜像,这里贴一个Dokerfile(文件名字必须是Dockerfile)

FROM ubuntu:latest


RUN apt-get update -yq --allow-insecure-repositories
RUN apt-get install -yq --allow-unauthenticated --no-install-recommends \
    dialog \
    apt-utils  \
    cpuset \
    liblz4-tool \
    make \
    unzip \
    cpuset \
    libtool \
    asciidoc \
    wget \
    gcc \
    g++ \
    libstdc++6 \
    openssh-server \
    tree \
    gawk \
    file \
    less \
    sudo \
    vim \
    unzip \
    python3 \
    python3-pip
    
RUN mkdir /app
RUN mkdir /src

RUN pip3 install --upgrade pip
RUN pip3 install --upgrade setuptools

CMD ["/bin/bash"]
  1. 建一个文件夹如: mkdir TMP,在里面新建文件vim Dockerfile,并将上述Dockerfile的内容粘贴上去
  2. 可以使用以下命令创建Docker镜像,这里讲一下容器和镜像的关系,容器类似一个包含操作系统和各种应用程序的集合,这里理解为电脑PC,镜像可以理解为安装操作系统的安装包
    命令:sudo docker build -t [镜像名] [包含Dockerfile的文件夹,这里为TMP]
sudo docker build -t  linux_2024 TMP

三. 根据镜像创建容器并运行

命令 :
docker run -itd -p 10007:10007 --name [容器名] [镜像名]
其中it选项是以交互方式执行,d后台执行,p是进行端口映射,方便后面vscode远程连接,容器名随便起

docker run -itd -p 10007:10007 --name  arm_container  linux_2024

到这里容器已经可以运行了
执行sudo docker attach [容器名],即可进入容器shell

sudo docker attach arm_container

上述命令不行,可以试试下面这条,重新打开一个shell

docker exec -it arm_container/bin/bash

输入exit可以退出容器,退出容器后,容器就噶了,需要重新启动,命令如下

sudo docker start arm_container

也可以不退出容器,只是关闭shell,按ctrl + p + q

四. 备份镜像

上述过程已经成功创建容器了,现在想一下,我们为什么要使用docker, 方便迁移呀,docker的目的就是一次生成,可以在任何地方部署,linux系统生成的容器,放在windows上也可以运行,换一台linuxPC,加载容器,一样可以运行,省去了因环境变化导致业务不能正常运行的麻烦

  1. 提交镜像的命令,类似git commit
sudo docker commit -m "version1" -a "yourname" [容器名] [镜像名]
  1. 保存容器的命令
sudo docker save -o arm64_test.tar [镜像名]
  1. 在别的地方可以加载上述容器
sudo docker load --input [打包包名,如上述的arm64_test.tar]

如果不想迁移,下面的可以不用看了

这里贴一下常用的其他命令

docker stop [容器名]  停止运行容器
docker rm [容器名]  删除容器
docker images   查看镜像
dcoker ps      查看正在运行的容器
docker ps -a  显示所有容器
docker rmi [镜像名] 删除镜像

五. 迁移到Windows上

1. window上安装docker软件 (略,有个坑,最新版本不一定能用,换老版本)

2. 执行 docker load --input [打包包名] 可加载容器

六 VScode连接容器

1. 如果在进行端口映射的方式,在Linux虚拟机或者远程服务器上,就直接配置ssh就可以了,如:

修改root ssh权限
vim /etc/ssh/sshd_config
PermitRootLogin yes

Host 192.168.xx.xx
     HostName 192.168.xx.xx
     port 10008
     User root
     ForwardAgent yes

2. 如果是想用vscode连接本地迁移后的容器,可以vscode中安装两个工具

Docker
		Dev Containers

3. 还可以使用MobaXterm去连接容器

我很想写详细一点儿,可是CSDN上传图片竟然失败,噶,先到这儿吧