Linux系统安装 | Docker安装最新版本Ubuntu并启动容器
原创
©著作权归作者所有:来自51CTO博客作者Neutionwei的原创作品,请联系作者获取转载授权,否则将追究法律责任
一、拉取最新Ubuntu镜像
docker image pull
是抓取 image 文件的命令:
$ docker pull ubuntu:latest
latest: Pulling from library/ubuntu
d72e567cc804: Pull complete
0f3630e5ff08: Pull complete
b6a83d81d1f4: Pull complete
Digest: sha256:bc2f7250f69267c9c6b66d7b6a81a54d3878bb85f1ebb5f951c896d13e6ba537
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
二、生成Ubuntu容器并退出
docker container run
命令会从 image 文件生成(新建)容器:
$ docker container run -p 8000:3000 -it --privileged=true ubuntu:latest /bin/bash
root@bc7c3ac008b2:/# exit
上面命令的各个参数含义如下:
-
-p
参数:容器的 3000 端口映射到本机的 8000 端口。 -
-it
参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。 -
ubuntu:latest
:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。 -
/bin/bash
:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。
三、查看Ubuntu容器信息
docker ps -a命令会
显示所有的容器(包括未运行的):
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc7c3ac008b2 ubuntu:latest "/bin/bash" 28 seconds ago Exited (0) 13 seconds ago 0.0.0.0:8000->3000/tcp zealous_einstein
四、更改Ubuntu容器为特定名字
$ docker rename bc7c3ac008b2 ubuntu-latest-buildroot
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc7c3ac008b2 ubuntu:latest "/bin/bash" 2 minutes ago Exited (0) 2 minutes ago 0.0.0.0:8000->3000/tcp ubuntu-latest-buildroot
注意:名字可以随便命名,此处博主是用于编译buildroot使用的。
五、启动并进入Ubuntu容器
前面的docker container run
命令是新建容器,每运行一次,就会新建一个容器。同样的命令运行两次,就会生成两个一模一样的容器文件。如果希望重复使用容器,就要使用docker container start
命令,它用来启动已经生成、已经停止运行的容器文件。
docker container exec
命令用于进入一个正在运行的 docker 容器。如果docker run
命令运行容器的时候,没有使用-it
参数,就要用这个命令进入容器。一旦进入了容器,就可以在容器的 Shell 执行命令。
$ docker container start ubuntu-latest-buildroot
ubuntu-latest-buildroot
$ docker container exec -it ubuntu-latest-buildroot /bin/bash
六、查看Ubuntu容器版本
root@bc7c3ac008b2:/# cat /etc/issue
Ubuntu 20.04.1 LTS \n \l
可以看出当前ubuntu:latest版本为20.04.1LTS。
七、更新Apt源
root@bc7c3ac008b2:/# apt update
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [107 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [367 kB]
Get:5 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB]
Get:6 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [75.9 kB]
Get:7 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [112 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [1169 B]
Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB]
Get:10 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB]
Get:11 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB]
Get:12 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB]
Get:13 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [303 kB]
Get:14 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [21.6 kB]
Get:15 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [703 kB]
Get:16 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [88.7 kB]
Get:17 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [4277 B]
Fetched 15.1 MB in 29s (527 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
八、安装常用命令
$ apt install byobu vim-gtk inetutils-ping net-tools wget cpio unzip rsync xz-utils
九、安装sudo命令并添加普通用户
$ apt install sudo
$ adduser neutionwei
十、把普通用户添加到sudo
添加如下内容:
neutionwei ALL=(ALL:ALL) ALL
十一、切换到普通用户
参考来源:Docker 入门教程