如何快速用docker run启动一个linux环境(debian/ubuntu)

前言

如何快速启动一个docker环境用于调式或相关用途,该环节具备某一特定系统所有相关组件及依赖库,并将本地目录挂载到目标路径,配置本地网络同时host映射到容器中。

正文

拉取镜像

本文以Ubuntu、Debian为例,其它镜像同样如此:

docker pull ubuntu
docker pull debian:11.0

如果想要配置国内镜像源加速,可以参考这篇文章《docker使用http服务及国内镜像加速_docker http-CSDN博客

查看镜像:

docker images

#========= OUT PUT ============
REPOSITORY                                                      TAG                             IMAGE ID       CREATED         SIZE
ubuntu                                                          22.04                           ca2b0f26964c   3 weeks ago     77.9MB
ubuntu                                                          latest                          ca2b0f26964c   3 weeks ago     77.9MB
debian                                                          11.0                            a178460bae57   2 years ago     124MB

启动镜像

启动一个Ubuntu独立网络环境的测试容器:

# 新建容器
docker run -d --rm -it --name  test_ubuntu ubuntu:latest bash

# 查看当前启动容器
docker ps
# ======= OUT PUT =========
CONTAINER ID   IMAGE           COMMAND   CREATED         STATUS         PORTS     NAMES
de811484b133   ubuntu:latest   "bash"    5 seconds ago   Up 3 seconds             test_ubuntu

# 运行并进入程序
docker exec -it test_ubuntu bash

# 以特定用户id进入容器
docker exec -it -u 1000 test_ubuntu bash
# ======= OUT PUT =========
root@64cb8939b9c6:/# cat /etc/issue
Ubuntu 22.04.4 LTS \n \l

启动一个Debian映射本地网络的测试容器:

docker run -d --rm -it --net host --name  test_debian debian:latest bash

更换国内源

rm /etc/apt/sources.list.d/debian.sources
echo "deb http://mirrors.aliyun.com/debian/ bookworm main non-free non-free-firmware contrib" | tee /etc/apt/sources.list.d/debian-bookworm.list

# 安装网络工具
apt-get install net-tools iproute2

# 查看当前ip
ip addr
# ======= OUT PUT =========
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp5s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:19:0f:46:83:f3 brd ff:ff:ff:ff:ff:ff
3: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:19:0f:46:83:f2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.*/24 brd 192.168.20.255 scope global noprefixroute enp0s31f6
       valid_lft forever preferred_lft forever
    inet6 *::*:*:*:*/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

启动一个Ubuntu映射本地网络及挂载文件夹的测试容器:

# 启动
docker run -d --rm -it --net host -v /home/bot/Downloads:/home/bot/Downloads --name  test_debian debian:latest bash

# 进入容器
docker exec -it test_debian bash

这样就可以同时把目标文件夹挂载到容器中了。

总结

本文主要用来说明如何快速启动一个容器,并挂载文件到容器中。


03-22 09:31