Docker的使用方法
# 一. ubuntu安装docker
方法有很多,可以直接chatgpt问一下,这里贴一下
- 更新你的现有列表的软件包:
sudo apt-get update
- 安装一些必要的软件包,这些软件包使
apt
能够通过 HTTPS 使用存储库:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- 添加 Docker 的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 添加 Docker 存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 更新软件包列表:
sudo apt-get update
- 确保你将从 Docker 存储库而不是默认的 Ubuntu 16.04 存储库安装 Docker:
apt-cache policy docker-ce
- 最后,安装 Docker:
sudo apt-get install docker-ce
- 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"]
- 建一个文件夹如: mkdir TMP,在里面新建文件vim Dockerfile,并将上述Dockerfile的内容粘贴上去
- 可以使用以下命令创建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,加载容器,一样可以运行,省去了因环境变化导致业务不能正常运行的麻烦
- 提交镜像的命令,类似git commit
sudo docker commit -m "version1" -a "yourname" [容器名] [镜像名]
- 保存容器的命令
sudo docker save -o arm64_test.tar [镜像名]
- 在别的地方可以加载上述容器
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上传图片竟然失败,噶,先到这儿吧