docker安装,配置,基本命令的学习

Docker 基本命令

安装官网参考文档
https://docs.docker.com/engine/install/centos/

配置阿里云镜像

开启 docker

 systemctl start docker

重启 docker 服务

systemctl restart  docker

关闭 docker

systemctl stop docker

遇到问题

[root@192 ~]# systemctl stop docker
Warning: Stopping docker.service, but it can still be activated by:
  docker.socket

原因

https://stackoverflow.com/questions/47489631/warning-stopping-docker-service-but-it-can-still-be-activated-by-docker-socke

这是因为除了docker.service单元文件,还有一个docker.socket单元文件…docker.socket这是用于套接字激活。
该警告意味着:如果你试图连接到docker socket,而docker服务没有运行,系统将自动启动docker。

解决

systemctl stop docker.socket

补充

  • 键启动所有docker 容器:docker start $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)

  • 键关闭所有docker 容器:docker stop $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)

  • 键删除所有docker 容器:docker rm $(docker ps -a | awk ‘{ print $1}’ | tail -n +2)

  • 键删除所有docker 镜像: docker rmi $(docker images | awk ‘{print $3}’ | tail -n +2)

查看版本信息

docker version

结果如下

Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:05:12 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:03:33 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

更加详细的docker信息,系统级别的镜像和容器

docker info

查看镜像

[root@192 /]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
hello-world   latest    feb5d9fea6a5   10 months ago   13.3kB

搜索

docker search mysql

镜像命令

docker 分层下载

[root@192 /]# docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
72a69066d2fe: Pull complete 
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:latest
// 真实地址
docker.io/library/mysql:latest

删除镜像
指定 id 删除

[root@192 /]# docker rmi -f c20987f18b13

删除全部

[root@192 /]# docker rmi -f $(docker images -aq)
[root@192 /]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

容器命令

下载 Nginx 并部署

docker run -d --name nginx01 -p:8080:80 nginx
-d 后台运行
–name 容器命名
-p 暴露端口 8080(Linux) 80(nginx01 容器)

[root@192 /]# docker images
[root@192 /]# docker run -d --name nginx01 -p:8080:80 nginx
a059f5a198b7f7aef69a66447c86fecf402e0c0fd15aaa166a49e1d8d8c56e2d
[root@192 /]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
a059f5a198b7   nginx     "/docker-entrypoint.…"   12 seconds ago   Up 10 seconds   0.0.0.0:8080->80/tcp, :::8080->80/tcp   nginx01
[root@192 /]# curl localhost:8080
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@192 /]# 

关闭之后,遇到的问题

Conflict. The container name “/nginx01” is already in use by container “a059f5a198b7f7aef69a66447c86fecf402e0c0fd15aaa166a49e1d8d8c56e2d”. You have to remove (or rename) that container to be able to reuse that name.

解决方法

// 列出所有的容器
docker ps -a

// 停止容器
docker stop <CONTAINER ID|NAME>

// 停止多个容器
docker rm <CONTAINER ID|NAME> <CONTAINER ID|NAME>

// 停止所有容器
docker rm $(docker ps -aq)

再次运行docker run -d --name nginx01 -p:8080:80 nginxcurl localhost:8080就好了

在这里插入图片描述
查看防火墙服务

systemctl status firewalld.service 

关闭防火墙服务

systemctl stop firewalld.service 

查看虚拟机 ip 地址

ifconfig

在这里插入图片描述

虚拟机下可以访问

在这里插入图片描述
win10 浏览器下也可以访问
在这里插入图片描述

当容器关闭之后就不可以在访问了,再删除容器

Docker Machine 是一种可以让您在虚拟主机上安装 Docker 的工具,并可以使用 docker-machine命令来管理主机。
Docker Machine 也可以集中管理所有的 docker 主机,比如快速的给 100 台服务器安装上 docker。

基于 Docker 安装 Nginx,启动运行,外网访问,映射配置文件

Windows中无法访问Docker中Nginx的解决方案

docker machine 的 GitHub 地址

docker 可视化面板 portainer 安装

docker run -d -p 9000:9000 \
--restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值