如何快速用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
这样就可以同时把目标文件夹挂载到容器中了。
总结
本文主要用来说明如何快速启动一个容器,并挂载文件到容器中。