Docker 常用命令

基本使用

设置开机自启动并启动 Docker-CE

1
2
sudo systemctl enable docker
sudo systemctl start docker

添加当前用户到 docker 用户组,可以不用 sudo 运行 docker

1
2
sudo groupadd docker
sudo usermod -aG docker $USER

获取 archlinux 镜像

1
docker pull base/archlinux

镜像使用

列出所有镜像

1
docker image ls -a

删除镜像

1
docker image rm image_id

容器使用

新建容器并挂载本地目录

1
2
3
4
5
6
7
8
docker run -it -v /home/carlyleliu/share/docker/ubuntu18:/share/ techliu/ubuntu /bin/bash
docker run -it -v /home/carlyleliu/share/docker/ubuntu20:/share/ ubuntu /bin/bash

docker run -it -v /home/carlyleliu/Workspace/Docker/ubuntu22:/share/ ubuntu:22.04 /bin/bash

docker network create --subnet=172.18.0.0/16 docker_net
docker run --net docker_net --ip 172.18.0.11 -p 2222:22 -it --name ubuntu -v /d/Docker/ubuntu:/share/ ubuntu /bin/bash

启动容器

1
docker start ubuntu

进入 shell

1
docker attach ubuntu

制作镜像并上传

制作镜像

1
docker commit -m "xxxx" -a "techliu <yyliushuai@gmail.com>" container_id repository_name

登录

1
docker login

上传

1
2
docker tag ubuntu18:latest techliu/ubuntu:latest
docker push techliu/ubuntu:latest

兼容多平台

1
docker buildx build --platform linux/amd64,linux/arm64 --tag techliu/ubuntu:latest --push .

验证

1
docker inspect techliu/ubuntu

容器与主机之间文件拷贝

容器到主机

1
docker cp ubuntu20.04:/workspace/dir /host-dir

主机到容器

获取确定容器 id

1
docker ps -a

确定容器长 id

1
docker inspect -f '{{.ID}}' ubuntu20.04

拷贝文件

1
docker cp  /host-dir docker-long-id:/workspace/docker-dir