docker基础用法
docker安装
参考阿里云网站:https://developer.aliyun.com/article/110806
安装必要的一些系统工具
[root@localhost ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
添加软件源信息
[root@localhost ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新并安装Docker-CE
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache fast
[root@localhost ~]# yum -y install docker-ce
开启Docker服务
[root@localhost ~]# systemctl start docker
docker加速
在自己的阿里云里面有免费的个人私有加速器
可以通过修改daemon配置文件 /etc/docker/daemon.json来使用加速器
[root@localhost ~]# cat > /etc/docker/daemon.json <<EOF
> {
> "registry-mirrors": ["https://ivte12dz.mirror.aliyuncs.com"]
> }
> EOF
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
docker常用操作
命令 | 功能 |
---|---|
docker search | Search the Docker Hub for images |
docker pull | Pull an image or a repository from a registry |
docker images | List images |
docker create | Create a new conntainer |
docker start | Start one or more stopped containers |
docker run | Run a command in a new container |
docker attach | Attach to a runninng container |
docker ps | List containers |
docker logs | Fetch the logs of a container |
docker restart | Restart a container |
docker stop | Stop one or more running containers |
docker kill | Kill one or more running containers |
docker rm | Remove onne or more containers |
docker exec | Run a command in a running container |
docker info | Display system-wide information |
docker inspect | Return low-level information on Docker objects |
docker search 在docker hub 里查找镜像
[root@localhost ~]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 12902 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker con… 1760 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable of… 760 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 102
docker pull 从官方仓库pull镜像
[root@localhost ~]# docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
c499e6d256d6: Already exists
76155f771be0: Pull complete
48b718b71719: Pull complete
d65ae7a4c211: Pull complete
8d17dee838ad: Pull complete
Digest: sha256:7cbb6e0bdbcae47b7684425160423a336d17c1dd499adb471ac99913c43e16fa`
Status: Downloaded newer image for httpd:latest
docker.io/library/httpd:latest
docker images 查看镜像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
httpd latest 8326be82abe6 8 hours ago 166MB
nginx latest ed21b7a8aee9 8 hours ago 127MB
docker create 创建容器
[root@localhost ~]# docker create -it nginx /bin/bash
74ff9e5ba07bdd9d5ca33e059a9e443cdf017731a1b289e4f05ed70171942fb1
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74ff9e5ba07b nginx "/bin/bash" 54 seconds ago Created modest_antonelli
docker start 启动一个或多个停止的容器
[root@localhost ~]# docker start 74ff9e5ba07b
74ff9e5ba07b
docker ps 查看有哪些容器
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74ff9e5ba07b nginx "/bin/bash" 2 minutes ago Up 9 seconds 80/tcp modest_antonelli
docker run 同时执行pull、create和start操作
[root@localhost ~]# docker run -d httpd:2.4
Unable to find image 'httpd:2.4' locally
2.4: Pulling from library/httpd
Digest: sha256:7cbb6e0bdbcae47b7684425160423a336d17c1dd499adb471ac99913c43e16fa
Status: Downloaded newer image for httpd:2.4
d6d97437e84ba59624aadd92cb6d2cff26405a223cf66a321a2b1604f5b15192
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d6d97437e84b httpd:2.4 "httpd-foreground" 21 seconds ago Up 21 seconds 80/tcp clever_pike
74ff9e5ba07b nginx "/bin/bash" 16 minutes ago Up 14 minutes 80/tcp modest_antonelli
docker kill 强行杀死容器
[root@localhost ~]# docker kill d6d97437e84b
d6d97437e84b
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74ff9e5ba07b nginx "/bin/bash" 21 minutes ago Up 19 minutes 80/tcp modest_antonelli
docker rm 删除容器
[root@localhost ~]# docker rm d6d97437e84b
d6d97437e84b
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74ff9e5ba07b nginx "/bin/bash" 24 minutes ago Up 21 minutes 80/tcp modest_antonelli
docker info 显示系统信息
[root@localhost ~]# docker info
Client:
Debug Mode: false
Server:
Containers: 1
Running: 1
Paused: 0
Stopped: 0
Images: 2
Server Version: 19.03.8
...
docker exec 进入容器并执行命令
[root@localhost ~]# docker exec -it 74ff9e5ba07b /bin/bash
root@74ff9e5ba07b:/#
docker logs 查看容器日志
[root@localhost ~]# docker logs 5940b84d8bdc
192.168.39.1 - - [31/Mar/2020:12:26:22 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36" "-"
2020/03/31 12:26:22 [error] 6#6: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.39.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.39.140:8080", referrer: "http://192.168.39.140:8080/"
docker inspect 查看详细的信息
[root@localhost ~]# docker inspect 5940b84d8bdc
[
{
"Id": "5940b84d8bdc362189eda4bcac738c10ec9881520c5879dba9b74ae73795e7e8",
"Created": "2020-03-31T12:25:41.75544235Z",
"Path": "nginx",
"Args": [
"-g",
"daemon off;"
],
...