1.docker daemon docker 守护进程,是一个在宿主机(DOCKER_HOST)的后台进程,可通过docker客户端与之通信。
2.images (docker镜像),docker镜像是一个只读模板,包含创建容器的说明。 类似使用系统安装光盘可以安装系统,使用docker镜像可以运行docker镜像中的程序。
3.container(容器),容器是镜像的可运行实例,
安装:
1.centos7 或更高版本
2.卸载老版本: sudo yum remove docker
docker-common
docker-selinux
docker-engline
某些文件保存在 var/lib/docker 中 需要手动删除
3.安装依赖包: sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4.设置阿里云镜像:sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.安装docker-ce:sudo yum install docker-ce
6.启动docker-ce:sudo systemctl enable docker
sudo systemctl start docker
7.设置镜像加速。阿里云加速配置。
重启docker:
systemctl daemon-reload
systemctl restart docker
8:
1.拉取镜像# Copy docker pull 2.删除容器# Copy docker rm <容器名 or ID> 3.查看容器日志# Copy docker logs -f <容器名 or ID> 4.查看正在运行的容器# Copy docker ps docker ps -a # 为查看所有的容器,包括已经停止的。 5.删除所有容器# Copy docker rm $(docker ps -a -q) 6.停止、启动、杀死指定容器# Copy docker start <容器名 or ID> # 启动容器 docker stop <容器名 or ID> # 停止容器 docker kill <容器名 or ID> # 杀死容器 7.查看所有镜像# Copy docker images 8.拉取镜像# Copy docker pull <镜像名:tag>
9:删除镜像
docker rmi [image]
或者:
docker image rm [image]
支持的子命令如下:
-f, -force
: 强制删除镜像,即便有容器引用该镜像;-no-prune
: 不要删除未带标签的父镜像;
# 例如以下代码 docker pull sameersbn/redmine:latest 9.后台运行# Copy docker run -d <Other Parameters> # 例如 docker run -d -p 127.0.0.1:33301:22 centos6-ssh 10.暴露端口# Copy # 一共有三种形式进行端口映射 docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口 # 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口 docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口 # 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口 docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口 # 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
mysql:
1.docker pull mysql:5.7 (指定版本,默认最新版本)
2.docker images (查看镜像)
3.sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=("设置数据库密码")-d mysql:5.7
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
4.docker container ls (检查是否在运行)
5.set password for root@localhost = password('');