Please enable Javascript to view the contents
Docker安装以及常用操作
1、安装Docker
1.1安装gcc和gcc-c++
1
|
yum -y install gcc &&yum -y install gcc-c++
|
1.2安装 utils
1
|
yum install -y yum-utils
|
1.3安装Docker
1
2
3
|
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce docker-ce-cli containerd.io
|
1.4启动Docker
1
2
|
service docker start
systemctl enable docker
|
1.5配置加速器
1
2
3
4
5
6
7
|
tee /etc/docker/daemon.json <<- 'EOF'
{
"registry-mirrors":["https://qiyb9988.mirror.aliyuncs.com"]
}
systemctl daemon-reload
systemctl restart docker
systemctl reset-failed docker.service
|
1.6卸载Docker
1
2
3
4
5
6
7
8
|
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
|
2、Docker基本操作
2.1安装Nginx
1
2
3
4
5
6
7
8
|
docker search nginx #搜索镜像
dockerpull nginx #下载
docker run -d --name nginx01 -p 3344:80 nginx #后台启动
docker ps #查看进程
curl localhost:3344 #查看访问源代码
docker exec -it nginx01 /bin/bash #进入容器
exit #退出容器
docker stop id #停止nginx
|
2.2安装Mysql
#3306端口 root密码123456
1
|
docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql
|
3、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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
docker pull ${CONTAINER NAME} #拉取镜像
docker images #查看本地所有镜像
docker ps #查看所有正在运行的容器,加-q返回id
docker ps -a #查看所有容器,加-q返回id
docker rmi ${IMAGE NAME/ID} #删除镜像
docker rm ${CONTAINER NAME/ID} #删除容器
docker save ${IMAGE NAME} > ${FILE NAME}.tar #将镜像保存成文件
docker load < ${FILE NAME}.tar #从文件加载镜像
docker start ${CONTAINER NAME/ID} #运行一个以前运行过的容器
docker stop ${CONTAINER NAME/ID} #停止一个正在运行的容器
docker logs ${CONTAINER NAME/ID} #显示运行容器的日志
docker run... #运行一个容器
--name ${container name} #设置容器名称
-p ${host port}:${container port} #映射主机和容器内的端口
-e ${env name}=${env value} #添加环境变量
-d #后台运行
-v ${host folder path}:${container folder path} #将主机目录挂在到容器内
# Advance use
docker ps -f "status=exited" #显示所有退出的容器
docker ps -a -q #显示所有容器id
docker ps -f "status=exited" -q #显示所有退出容器的id
docker restart $(docker ps -q) #重启所有正在运行的容器
docker stop $(docker ps -a -q) #停止所有容器
docker rm $(docker ps -a -q) #删除所有容器
docker rm $(docker ps -f "status=exited" -q) #删除所有退出的容器
docker rm $(docker stop $(docker ps -a -q)) #停止并删除所有容器
docker start $(docker ps -a -q) #启动所有容器
docker rmi $(docker images -a -q) #删除所有镜像
docker exec -it ${CONTAINER NAME/ID} /bin/bash #进入容器内
docker exec -it ${CONTAINER NAME/ID} ping ${CONTAINER NAME/ID} #一个容器ping另外一个容器
docker top ${CONTAINER NAME/ID} #显示一个容器的top信息
docker stats #显示容器统计信息(正在运行)
docker stats -a #显示所有容器的统计信息(包括没有运行的)
docker stats -a --no-stream #显示所有容器的统计信息(包括没有运行的) ,只显示一次
docker stats --no-stream | sort -k8 -h #统计容器信息并以使用流量作为倒序
docker system
docker system df #显示硬盘占用
docker system events #显示容器的实时事件
docker system info #显示系统信息
docker system prune #清理文件
|