docker学习笔记(待完善)

作者:沙师弟时间:2017-09-13
1、概念理解 高大上的概念讲不来,讲下我自己对docker两个重要镜像、容器的通俗理解: 什么是镜像,镜像是docker包 什么是容器,容器根据docker包运行的实例 2、如何或者docker镜像 使用docker pull从docker的镜像市场下载(https://hub.docker.com),例如想要用到mysql的服务,那么完整的命令是:
docker pull mysql
3、如何创建docker容器
docker run --name first-mysql -p 3306:3306 -v ~/Documents/docker/mysql/data:/var/lib/mysql -v ~/Documents/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql
#### 说明:

-d : --detach,后台运行。
--name : 为你的镜像创建一个别名,该别名用于更好操作。
-p : 映射端口,一般我们会将默认端口进行更改,避免与本机的mysql端口冲突,如果你宿主机有mysql,请更改端口,如 -p 33060:3306。
-e : 环境变量。为mysql的root用户设置密码为123456。
-v : 指定数据卷,意思就是将mysql容器中的/var/lib/mysql(这个是数据库所有数据信息文件)映射到宿主机/data/mysql里面。
4、如何在容器做后台运行后进入运行的容器 这个动作就跟我们装完系统,系统启动后,我们要进入系统玩耍一个意思
docker exec -t -i first-mysql /bin/bash
#### 说明:

-i : --interactive,交互界面。
-t : --tty,伪终端界面。
/bin/bash: 运行bash shell
5、如何不让容器进入后台运行,而是直接做前台跑 这个动作一般是临时跑容器,比如自己创建镜像、封装镜像
docker run -t -i ubuntu /bin/bash
#### 说明:

-i : --interactive,交互界面。
-t : --tty,伪终端界面。
ubuntu: 镜像
/bin/bash: 运行bash shell
6、如何创建新镜像
docker build -t mysql.
7、删除镜像
docker rmi
8、删除容器
docker rm
9、查看运行的容器
docker ps -a
10、使用 docker-compose.yml 生成容器 生成管理容器方便的工具,使用前需要安装docker-compose,除了docker-compose还有dockerfile可以管理容器
docker-compose up -d
11、私有化 docker hub
# 注册
docker run -p 5000:5000 registry

# 打tag
docker tag b832n2b87 192.168.1.1:5000/vim #docker tag $ID $IP:$port/$name

# 上传
docker push 192.168.1.1:5000/vim

# 拉取
docker pull 192.168.1.1:5000/vim