ubuntu18.04安装docker
文章目录
-
- 1.更新软件库索引
- 2.安装一些必要的软件包
- 3.添加Docker的官方GPG密钥
- 4.添加Docker软件库
- 5.再次更新软件库索引
- [6.安装Docker CE](#6.安装Docker CE)
- 7.启动Docker并设置开机启动
- 8.验证Docker安装
- 9.(若要让非root用户可以运行Docker命令)可以将用户添加到docker组:
-
- [1.docker run hello-world](#1.docker run hello-world)
- [2.docker run -it ubuntu bash](#2.docker run -it ubuntu bash)
- [3.sudo docker run -d -p 80:80 --name mynginx nginx](#3.sudo docker run -d -p 80:80 --name mynginx nginx)
-
首先查看下Ubuntu的版本
lsb_release -a
我的版本信息如下
bashNo LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.6 LTS Release: 18.04 Codename: bionic
然后按照如下步骤安装即可
一.安装
1.更新软件库索引
首先,更新系统软件库索引。
bash
sudo apt update
2.安装一些必要的软件包
Docker需要使用curl、apt-transport-https、ca-certificates、software-properties-common
。
安装这些软件包:
bash
sudo apt install apt-transport-https ca-certificates curl software-properties-common
3.添加Docker的官方GPG密钥
bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4.添加Docker软件库
bash
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
5.再次更新软件库索引
bash
sudo apt update
6.安装Docker CE
bash
sudo apt install docker-ce
7.启动Docker并设置开机启动
bash
sudo systemctl start docker
sudo systemctl enable docker
8.验证Docker安装
验证Docker是否成功安装并运行:
bash
sudo docker --version
9.(若要让非root用户可以运行Docker命令)可以将用户添加到docker组:
bash
sudo usermod -aG docker ${USER}
这一步需要重启系统才能生效,不然会显示没有权限
二.测试
1.docker run hello-world
我的服务器显示了如下内容
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete
Digest: sha256:4f53e2564790c8e7856ec08e384732aa38dc43c52f02952483e3f003afbf23db
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
2.docker run -it ubuntu bash
bash
docker run -it ubuntu bash
这将会启动一个基于Ubuntu的容器,并给一个bash shell,可以在容器内部进行操作。输入exit可以退出。
3.sudo docker run -d -p 80:80 --name mynginx nginx
bash
sudo docker run -d -p 80:80 --name mynginx nginx
如何查看效果
-
可以通过Web浏览器访问
- 由于已经将容器的80端口映射到主机的80端口,只需在浏览器的地址栏输入服务器的IP地址,即可访问到Nginx的默认欢迎页面。
- 如果是在本地计算机上操作的,那么直接访问 http://localhost 就可以了。如果是远程服务器,使用该服务器的IP地址,例如 http://your_server_ip。(安全组要开放才能打开)
-
使用curl命令
- 从命令行,您可以使用curl命令来获取Nginx的默认页面内容:
curl http://localhost
这应该会显示Nginx的默认欢迎页面的HTML内容,如下图
三.如何查看上面测试的容器
1.查看正在运行的容器:
bash
/$ sudo docker ps
2.查看正在运行的容器:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
579ee93b319f nginx "/docker-entrypoint...." 10 minutes ago Up 10 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp mynginx
bash
/$ sudo docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
579ee93b319f nginx "/docker-entrypoint...." 9 minutes ago Up 9 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp mynginx
f260a7d0df2a ubuntu "bash" 32 minutes ago Exited (0) 31 minutes ago eager_roentgen
5b1d541d529d hello-world "/hello" 33 minutes ago Exited (0) 33 minutes ago frosty_shaw
3.仅查看容器名称
上面两条命令会列出容器的ID、创建时间、状态、端口映射等信息,下面这个可以只查看容器名称
bash
sudo docker ps -a --format "{{.Names}}"
四.如何停止容器
-
停止容器:
使用
docker stop
命令停止容器。bashsudo docker stop mynginx
-
删除容器:
如果只是想暂时停止容器,那么第一步就足够了
bashsudo docker rm mynginx
如果想运行一个Nginx容器,需要重新使用docker run
命令。但由于您之前已经下载了Nginx镜像,所以这次启动容器时不再需要下载镜像。