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镜像,所以这次启动容器时不再需要下载镜像。

相关推荐
MonkeyKing_sunyuhua41 分钟前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
追风林1 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
€☞扫地僧☜€2 小时前
docker 拉取MySQL8.0镜像以及安装
运维·数据库·docker·容器
茶馆大橘2 小时前
微服务系列六:分布式事务与seata
分布式·docker·微服务·nacos·seata·springcloud
全能全知者3 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器
阿尔帕兹5 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
ZHOU西口7 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
川石课堂软件测试12 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
追风林19 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
城南vision21 小时前
Docker学习—Docker核心概念总结
java·学习·docker