##安装docker 使用apt
#移除老版本1
sudo apt-get remove docker docker-engine docker.io containerd runc
#安装1
sudo apt-get install docker-ce docker-ce-cli containerd.io
#安装指定版本
#查看可用的版本1
apt-cache madison docker-ce
#安装1
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
#验证安装1
sudo docker run hello-world
#查看docker信息1
docker info
#避免使用sudo 加入docker用户组1
sudo usermod -aG docker $USER
#启动服务1
sudo service docker start
#停止服务1
sudo service docker stop
img模板命令
#列出image文件1
docker image ls
#删除image文件1
docker image rm [imagename]
#拉取远程image到本地1
docker image pull library/hello-world 或者 docker image pull hello-world
注:library是官方默认组
#运行image1
docker container run hello-world
注:此命令实际等同于 docker image pull hello-world + docker container run
#启动容器1
docker container start [containerID]
注:与run的区别是:start每次执行的是同一个containerID 而run每次都是新contarinerID
#停止1
docker container stop [containerID]
#查看容器里shell输出1
docker container logs
#进入到正在运行的容器中1
docker container exec -it [containerID] /bin/bash
#copy 文件到本地1
docker container cp [containerID]:/var/www/html
#强制停止容器进程1
docker container kill [containerID]
container容器命令
#列出正在运行的容器1
docker container ls
#删除本地容器文件1
docker container rm [containerID]
##编写dockerfile 文件,例子1
2
3
4
5
6
7
8
9
10
11
12#该文件继承官方(docker官方)mysql image,版本号是5.7
FROM mysql:5.7
#运行授权用户组命令
RUN chown -R mysql:root /var/lib/mysql/
#copy本机文件到image /etc/mysql...目录
COPY my.cnf /etc/mysql/conf.d/my.cnf
#分配权限为配置文件
RUN chmod 0444 /etc/mysql/conf.d/my.cnf
#
CMD ["mysqld"]
#外部访问端口
EXPOSE 3306
#使用dockerfile 创建image文件1
docker image build -t image-demo . or docker image build -t image-demo:0.0.1 ./demo
注:./demo/ 为创建的目录地址,:0.0.1为版本号,默认为latest
#查看刚才创建的image1
docker image ls
#使用刚才建立的image 生成对应容器1
docker container [--rm] run -p 9000:3306 -it image-demo /bin/bash
注:-p 9000 本机访问端口 -it:将本地shell映射到image shell,/bin/bash 运行的命令使用bash shell
–rm 运行停止后自动清除本地容器文件
##发布image
#注册账号在[hub.docker.com]hub.docker.com
#登陆1
docker login
#为本地image标注用户名和标签1
docker image tag image-demo:0.0.1 demo-username/image-demo:0.0.1
#发布1
docker image push demo-username/image-demo:0.0.1
##使用docker-compose
#安装1
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#赋权限1
sudo chmod +x /usr/local/bin/docker-compose
#增加软连接1
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
#测试安装1
docker-compose --version
#启动1
docker-compose up
#停止1
docker-compose stop
#容器停止后移除容器文件1
docker-compose rm