安装并配置docker
安装:
sudo snap install docker
,不推荐这个办法,因为无法浏览/var/lib/docker,不能好好研究Docker的工作原理curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
,使用官方脚本安装,推荐。
添加用户组,使用命令时无需使用sudo:
1
2
3
4
5sudo groupadd docker # 添加docker用户组
sudo gpasswd -a $wangtaocs docker # 检测当前用户是否已经在docker用户组中
sudo gpasswd -a $USER docker # 将当前用户添加至docker用户组
newgrp docker # 更新docker用户组
sudo chmod a+rw /var/run/docker.sock # 增加docker用户组读写权限如果启用了防火墙:
1
2
3
4sudo vim /etc/default/ufw # 修改防火墙配置
DEFAULT_FORWARD_POLICY="DROP" # 修改配置文件中的参数
DEFAULT_FORWARD_POLICY="ACCEPT"
sudo ufw reload # 重新加载防火墙
Docker入门
常用命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15docker info # 显示系统范围信息
docker run # 创建并运行容器
docker create # 创建容器但不运行
docker ps -a # 查看所有容器列表
docker ps # 查看正在运行的容器列表
docker start container # 启动名为container的容器
docker start containerID # 启动ID为container_ID的容器
docker attach container # 重新附着到该容器的会话上,如果其有一个会话
docker logs container # 获取容器的日志
docker top container # 查看容器中的进程
docker stats container1 container2 # 查看一个或多个守护式容器的统计信息,快速监控主机上的一组容器
docker exec # 在容器内部运行进程
docker stop container # 停止守护进程
docker inspect container # 显示容器的详细信息
docker rm containerID # 删除ID为containerID的容器没有删除全部容器的命令,可以巧用以下命令:
1
docker rm `sudo docker ps -a -q`
上面的
docker ps
命令会列出现有的全部容器,-a标志代表列出所有容器,而-q标志则表示只需要返回容器的ID而不会返回容器的其他信息。这样我们就得到了容器ID的列表,并传给了docker rm命令,从而达到删除所有容器的目的。
使用Docker镜像和仓库
常用命令
1
docker pull # 拉取镜像
实战部署一个mysql5.7容器
1 | docker pull mysql:5.7 # 拉取镜像 |
可在/etc/mysql/my.cnf
编辑配置mysql的配置文件