容器Docker的创建和使用

1. 更新软件库

sudo apt update

2. 安装docker

sudo apt install docker.io

3. 常用操作命令

  1. 普通用户运行Docker

Docker 需要用户具有 sudo 权限,为了避免每次命令都输入sudo,可以把用户加入 Docker 用户组

sudo usermod -aG docker $USER
  1. 查看Docker版本
docker version
  1. 列出本机的所有 image 文件
docker image ls
  1. 删除 image 文件
docker image rm [imageName]
  1. 搜索一个基于 hello-world 的镜像文件
sudo docker search hello-world
  1. 下载 hello-world 的镜像
docker image pull hello-world
  1. 列出本机的所有 image 文件
docker image ls
  1. 运行 hello-world 这个 image 文件
docker run hello-world
  1. 搜索一个基于 Ubuntu 的镜像文件
sudo docker search ubuntu
  1. 下载 Ubuntu 的镜像
docker image pull ubuntu
  1. 列出本机的所有 image 文件
docker image ls
  1. 运行 Ubuntu 这个 image 文件
docker container run -it ubuntu bash
  1. 手动kill容器
docker kill [containID]
  1. 查看正在运行的容器
docker ps 
  1. 查看所有容器
docker ps -a
  1. 后台运行容器
docker run -d ubuntu
  1. 映射端口
docker run [参数] [image]
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  1. 映射目录
docker run -v local:remote xxx
docker run -v /data:/data ubuntu

如果容器中某目录是有文件的,那么这么映射会失败,可以通过创建volume方法实现映射。

docker volume create myvolume
docker run -it --name somename -v myvolume:/container-src anyimage /bin/bash
  1. 退出交互式界面,不结束容器

    退出时,使用ctrl + D,这样会结束docker当前线程,容器结束,可以使用ctrl + Pctrl + Q退出而不终止容器运行。

  2. 设置容器开机重启(此方法更新容器配置,可以在新建容器时添加该参数)

docker update --restart=always xxx

4. 设置中国源

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

5. 设置docker容器默认存储路径

vim /etc/docker/daemon.json 
  • 如果没有修改过源,添加以下内容:
{
  "data-root": "/data"
}
  • 如果修改过源,则直接新增在配置中。
{
  "registry-mirrors": ["http://hub-mirror.c.163.com"],
  "data-root": "/data"
}

-- Write by PercyC

更新于:2023年4月20日

文章作者: PercyC
本文链接:
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 percy家园
Linux 容器
喜欢就支持一下吧