docker部署命令详解
一、安装docker
- 卸载旧版本docker
1
sudo apt-get remove docker docker-engine docker.io
- 安装docker
1
2sudo apt update
sudo apt install docker-ce - 安装docker-compose卸载docker-compose
1
2sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose1
2
3
4
5
6
7
8
9
10
11
12
13
14sudo rm /usr/local/bin/docker-compose
```
### 二、docker命令
1. 启动服务相关
```shell
启动docker
sudo service docker start
停止docker
sudo service docker stop
重启docker
sudo service docker restart - 镜像相关
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18列出镜像
sudo docker image ls
拉取镜像
sudo docker image pull library/hello-world #docker库内
sudo docker image pull hello-world
删除镜像
sudo docker image rm hello-world
打包(将镜像打包为文件)
sudo docker save -o [保存的文件名] [镜像名]
如:
sudo docker save -o ./ubuntu.tar ubuntu
加载
sudo docker load -i ./ubuntu.tar - 容器相关将容器打包为镜像
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创建容器(创建后运行)
sudo docker run [option] [镜像名] [向启动容器中传入的命令]
可选参数
-i # 表示以“交互模式”运行容器
-t # 表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即 分配一个伪终端。
--name # 为创建的容器命名
-v # 表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录,即 宿主机目录:容器中目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
-d # 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不 会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p # 表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
-e # 为容器设置环境变量
--network=host # 表示将主机的网络环境映射到容器中,容器的网络与主机相同(不能与-p同时使用)
交互式容器(可在终端控制台使用命令)
sudo docker run -it --name=myubuntu ubuntu /bin/bash
守护式容器(长期运行不停止)
sudo docker run -dit --name=myubuntu2 ubuntu
进入已运行的容器
sudo docker exec -it [容器名或容器id] [进入后执行的第一个命令]
sudo docker exec -it nginx /bin/bash
列出正在运行的容器
sudo docker container ls
列出全部容器
sudo docker container ls --all
停止一个已经在运行的容器
sudo docker container stop [容器名或容器id]
启动一个已经停止的容器
sudo docker container start [容器名或容器id]
kill掉一个已经在运行的容器
sudo docker container kill [容器名或容器id]
删除容器
sudo docker container rm [容器名或容器id]从docker容器中导入/导出文件1
sudo docker commit [容器名] [镜像名]
1
2
3
4
5从容器导出
docker cp [容器ID]:[source] [destination]
导入容器
docker cp [source] [容器ID]:[destination]
三、dockerhub
dockerhub是一个用于保存docker镜像的仓库,类似于Github。
- 登录和退出
1
2docker login
docker logout - 拉取镜像
1
2
3
4
5在官方仓库搜索镜像
docker search xxx
拉取镜像
docker pull xxx - 推送镜像到在线仓库注意:一定要先给镜像打
1
2
3示例:镜像mynginx
docker tag mynginx:v1 username/mynginx:v1 #打上gurh16的tag
docker push username/mynginx:v1tag
,再推送!
参考内容: Ubuntu安装docker-吉吉博客