docker常用命令

##安装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是官方默认组

#运行image

1
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

#查看刚才创建的image

1
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

你是本站第位访客 本站访客数人次
Fork me on GitHub