docker学习及glang部署

docker启动

sudo systemctl start docker

注意:该命令无论在那个目录下执行都能启动docker

运行一个容器

我们通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力:

docker run -i -t ubuntu:15.10 /bin/bash

各个参数解析:

  • -t: 在新容器内指定一个伪终端或终端。
  • -i: 允许你对容器内的标准输入 (STDIN) 进行交互。
  • ubuntu:15.10:代表要使用的镜像,如果本地没有他会自动去下载
  • /bin/bash:代表执行该镜像的格式


退出容器

exit  or  CTRL+D

查看运行中的容器

docker ps

1.png


输出详情介绍:
CONTAINER ID: 容器 ID。
IMAGE: 使用的镜像。
COMMAND: 启动容器时运行的命令。
CREATED: 容器的创建时间。
STATUS: 容器状态。
状态有7种:

  • created(已创建)
  • restarting(重启中)
  • running(运行中)
  • removing(迁移中)
  • paused(暂停)
  • exited(停止)
  • dead(死亡)

PORTS: 容器的端口信息和使用的连接类型(tcpudp)。
NAMES: 自动分配的容器名称。

查看容器内的标准输出:

 docker logs 容器ID

停止容器

 docker stop 容器ID

重启容器

docker restart 容器ID

Docker 客户端

启动已停止运行的容器

查看所有容器

docker ps -a

2.png



注意:这里面的容器ID与docker ps里面的容器ID不同
启动一个已经停止的镜像

docker start 容器ID

注意:这里使用的容器ID与docker ps -a里面的容器ID要保持一致

进入容器

注意: 如果从这个容器退出,会导致容器的停止。

docker attach 容器ID

注意: 如果从这个容器退出,不会导致容器的停止,这就是为什么推荐大家使用 docker exec 的原因。
更多参数说明请使用 docker exec --help 命令查看。

docker exec -it 容器ID /bin/bash

导出容器到本地文件

如果要导出本地某个容器,可以使用 docker export 命令。
注意:ubuntu.tar为本地压缩文件,该命令会把一个容器压缩成一个文件

docker export 容器ID > ubuntu.tar

删除容器

删除容器使用 docker rm 命令:
(本人实际测试经验,自己感觉挺麻烦的)
**
先使用docker ps -a命令查看全部容器

 docker ps -a

3.png



然后使用下面命命令删除,ID为docker ps -a里的ID

 docker rm 容器ID

然后使用下面的命令会发现还是有ubuntu:15.10

 docker images

4.png
接下来使用下面命令删除,这里的ID为docker images出现的ID

 docker rmi -f 容器ID

5.png
然后会发现docker images里的ubuntu:15.10被删掉了

清理所有处于终止状态下的容器

docker container prune

docker镜像使用

我们可以使用 docker images 来列出本地主机上的镜像。

 docker images 
runoob@runoob:~$ docker images           
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              14.04               90d5884b1ee0        5 days ago          188 MB
php                 5.6                 f40e9e0f10c8        9 days ago          444.8 MB
nginx               latest              6f8d099c3adc        12 days ago         182.7 MB
mysql               5.6                 f2e8d6c772c0        3 weeks ago         324.6 MB
httpd               latest              02ef73cf1bc0        3 weeks ago         194.4 MB
ubuntu              15.10               4e3b13c8a266        4 weeks ago         136.3 MB
hello-world         latest              690ed74de00f        6 months ago        960 B
training/webapp     latest              6fae60ef3446        11 months ago       348.8 MB

各个选项说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

获取一个新的镜像

我们可以使用 docker pull 命令来下载一个新的镜像。

Crunoob@runoob:~$ docker pull ubuntu:13.10
13.10: Pulling from library/ubuntu
6599cadaf950: Pull complete 
23eda618d451: Pull complete 
f0be3084efe9: Pull complete 
52de432f084b: Pull complete 
a3ed95caeb02: Pull complete 
Digest: sha256:15b79a6654811c8d992ebacdfbd5152fcf3d165e374e264076aa435214a947a3
Status: Downloaded newer image for ubuntu:13.10

查找镜像

 docker search httpd

其他命令

请参考菜鸟教程菜鸟教程docker

使用docker部署golang的镜像

这里推荐去看隔壁的博客:“怎样将服务部署到Docker”(开阳),在这里我只做一下补充。

交叉编译

这里最好去找到自己golang文件的目录,在红线的地方输入cmd按回车,打开cmd.

6.png

然后输入三条指令,会自动生成二进制文件。注意:生成的文件不能带.exe后缀,如果带则说明操作不对,删掉重新操作。

set GOOS=linux
set GOARCH=amd64
go build .

7.png

Last modification:November 11th, 2019 at 01:28 pm
如果觉得我的文章对你有用,请随意赞赏