iami233
iami233
文章153
标签38
分类4

文章分类

文章归档

Docker 学习笔记

Docker 学习笔记

Docker是一个开源的应用容器引擎,基于 Go语言 并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

最近用 Docker 的次数越多了 在此记录一下常用的命令

安装 Docker

安装 Docker 主要有以下几种方法,适用于不同的操作系统和需求:

通用安装脚本

推荐用于CentOS 7、Debian、Ubuntu

1
curl -sSL https://get.docker.com/ | sh

国内镜像加速

1
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

CentOS 6

1
2
3
4
5
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on

配置 Docker

设置开机自启

1
2
systemctl start docker
systemctl enable docker

更换镜像源

为了提高拉取镜像的速度,建议配置国内的镜像源:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com",
"https://mirror.ccs.tencentyun.com"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
docker info

Docker常用命令

以下是一些基本的Docker命令,用于管理容器和镜像:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 查看Docker版本
docker -v
# 下载镜像
docker pull 镜像名/ID
# 搜索镜像
docker search 镜像名/ID
# 启动镜像
docker run -d -p 2333:80 镜像名 --name="mycontainer"
# –name=”xxx-name”: 为容器指定一个名称
# -d: 后台运行容器,并返回容器ID
# -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
# -P(大写): 随机端口映射,容器内部端口随机映射到主机的高端口
# -it: 为容器分配一个伪输入终端,已交互方式运行容器
# 停止容器
docker stop 容器名/ID
# 删除容器
docker rm 容器名/ID
# 启动已经被停止的容器
docker start 容器名/ID
# 重启容器
docker restart 容器名/ID
docker ps
# -a: 显示所有的容器,包括未运行的
# -q: 静默模式,只显示容器编号
# -n: 列出最近创建的n个容器
# 在运行的容器中执行命令
docker exec -it 容器名/ID bash

批量操作

Docker也支持批量操作容器和镜像,以下是一些示例命令:

1
2
3
4
5
6
7
8
9
10
11
12
# 删除所有镜像
docker rmi $(docker images -q)
# 停止所有容器
docker stop $(docker ps -a -q)
# 删除所有容器
docker rm $(docker ps -a -q)
# 启动所有容器
docker start $(docker ps -a -q)
# 按条件筛选之后删除镜像
docker rmi `docker images | grep 容器名 | awk '{print $3}'`
# 按条件筛选之后删除容器
docker rm `docker ps -a | grep 容器名 | awk '{print $1}'`

安装 Docker compose

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。

以前都是用 pip 进行安装,但是每次都会踩坑,还是用下面的方法比较方便。

1
2
3
curl -L "https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose version

yml 文件编写

1
2
3
4
5
6
7
8
version: '3'
services:
php:
image: php:7.2-apache
volumes:
- ./www:/var/www/html
ports:
- "8080:80"
本文作者:iami233
本文链接:https://5ime.cn/docker.html
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可