ubuntu18.04安装docker

ubuntu18.04安装docker

文章目录

然后按照如下步骤安装即可

一.安装

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命令停止容器。

    bash 复制代码
    sudo docker stop mynginx
  • 删除容器:

    如果只是想暂时停止容器,那么第一步就足够了

    bash 复制代码
    sudo docker rm mynginx

如果想运行一个Nginx容器,需要重新使用docker run命令。但由于您之前已经下载了Nginx镜像,所以这次启动容器时不再需要下载镜像。

相关推荐
chinesegf6 小时前
Docker篇4-本地项目app.py与docker加载项目镜像的开发顺序
运维·docker·容器
CyreneSimon6 小时前
Docker 拉取配置教程:解决镜像拉取连接超时问题
运维·docker·容器
人间打气筒(Ada)9 小时前
Kubeadm快速部署k8s集群----1.20.0版本(基于centos7.9,因为k8s版本为1.24之下,所以可以直接使用docker)
docker·容器·kubernetes
xuhe211 小时前
🛠️ 深度解析我的 Overleaf 私有化部署:一份稳定、高兼容性的 `docker-compose.yaml`
linux·docker·科研·overleaf
白小云<12 小时前
docker镜像
docker·容器·eureka
何故染尘優12 小时前
docker学习笔记,从入门开始!
笔记·学习·docker
不爱笑的良田13 小时前
从零开始的云原生之旅(一):把 Go 应用塞进 Docker
docker·云原生·golang
java_logo15 小时前
Docker 部署 Rocky Linux 全流程教程
linux·运维·服务器·docker·容器·1024程序员节
2501_9387918315 小时前
服务器镜像安全:Docker 镜像漏洞扫描(Trivy)与基础镜像优化
服务器·安全·docker
老司机张师傅16 小时前
【微服务实战之Docker容器】第十章-compose容器编排
docker·微服务·架构