Docker
How To Install and Use Docker on Ubuntu 16.04
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
apt-cache policy docker-ce
sudo apt-get install -y docker-ce
sudo systemctl status docker
check version
$ docker version
Client:
Version: 18.09.5
API version: 1.39
Go version: go1.10.8
Git commit: e8ff056
Built: Thu Apr 11 04:44:24 2019
OS/Arch: linux/amd64
Experimental: false
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/version: dial unix /var/run/docker.sock: connect: permission denied
$ docker version
# 或者
$ docker info
sudo usermod -aG docker $USER
# service 命令的用法
$ sudo service docker start
# systemctl 命令的用法
$ sudo systemctl start docker
docker image pull hello-world
# 列出本机的所有 image 文件。
$ docker image ls
# 列出本机正在运行的容器
docker container ls
# 列出本机所有容器,包括终止运行的容器
docker container ls --all
docker container run hello-world
docker container run -it ubuntu bash
docker container start/stop [containerID]
docker container kill [containID]
docker container rm [containerID]
docker container logs [containerID]
docker container cp [containID]:[/path/to/file] .
# 删除 image 文件
docker image rm [imageName]
docker rmi [imageName]
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
# 停止所有容器
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker stop
# 删除所有容器
docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm
# 删除所有none images
docker images|grep none|awk '{print $3 }'|xargs docker rmi
$ sudo docker exec -it d3b30d274eac ls -l /tmp
total 0
-rw-r--r-- 1 root root 0 Apr 14 12:21 hello.txt
$ sudo docker exec -it d3b30d274eac /bin/bash
root@d3b30d274eac:/~/workspace#
Docker-compose
Install
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
#Test installation
docker-compose --version
Common Error
X Error: BadShmSeg
Error Message:
Also can refer: https://github.com/marazmista/radeon-profile/issues/8
X Error: BadShmSeg (invalid shared segment parameter) 128
Extension: 130 (MIT-SHM)
Minor opcode: 3 (X_ShmPutImage)
Resource id: 0x620000e
Solution:
export QT_X11_NO_MITSHM=1
“source: not found” in Dockerfile
/bin/sh: 1: source: not found
Solution
- RUN /bin/bash -c “source /usr/local/bin/virtualenvwrapper.sh”
- SHELL ["/bin/bash", “-c”]
- FROM ubuntu:16.04
RUN rm /bin/sh && ln -s /bin/bash /bin/sh